的Java输出编号行格式化
问题描述:
我的工作,要求请求文件名的任务,然后拿文件和输出它与编号行格式化像一个.txt文件:的Java输出编号行格式化
[001]
[002]
我已经把碎片磨碎在一起,让程序工作,但我似乎无法得到它以要求的格式写入。任何帮助,将不胜感激。
这是我的代码到目前为止。
try {
System.out.println("Enter your source code file name: ");
Scanner scanner = new Scanner(System.in);
String file = scanner.nextLine();
in = new FileInputStream(file);
out = new FileOutputStream(file + ".txt");
int c;
while ((c = in.read()) != -1) {
out.write(c);
}
} catch (IOException e) {
System.out.println("Error!");
}
答
尝试
BufferedReader in = new BufferedReader(new FileReader(fileName));
BufferedWriter out = new BufferedWriter(new FileWriter(fileName + '.txt');
String line;
while ((line = in.read()) != -1) {
counter++;
out.write(String.format(..., counter, line)+"\r\n");
}
有关String.format()
方法看附加信息使用的BufferedReader/BufferedWriter将读取和写入你的文字线条就像这样简单:
String txtName = "test";
String txtNumbered = "test1";
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(txtName+".txt")));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(txtNumbered+".txt")));
int count = 0;
String line = br.readLine();
while(line != null)
{
count++;
bw.write(count+" "+line+"\r\n");
line = br.readLine();
}
br.close();
bw.close();
}catch(IOException e)
{
System.out.println(e);
}
你笑uldn't阅读,并在同一时间写入一个文件,这是更好地阅读,做内存的更改,然后将其写入文件 – Draken
@Draken他们是不一样的文件... – assylias
好一点,错过了附加.txt。 而不是使用'FileInputStream',应该更好地使用'BufferedReader'和'FileReader'。这可以轻松读取线条。 [检查这里的例子](http://*.com/questions/5868369/how-to-read-a-large-text-file-line-by-line-using-java)。目前最大的问题是你正在逐字阅读一行字符,这是缓慢而困难的。有更好的技术人员可以一次阅读整行文本,而不需要完成这项工作 – Draken