【问题标题】:Reading/Writing Files in Java and Adding Line Numbers在 Java 中读/写文件并添加行号
【发布时间】:2013-06-10 02:45:37
【问题描述】:

我有以下任务要完成:

编写了一个程序,该程序读取一个文件并将该文件的副本写入另一个插入行号的文件。

到目前为止,我编写了下面发布的代码。此代码读取文本并将其复制到另一个文件,但我无法弄清楚如何对新文本文件中的每一行进行编号。有人可以告诉我怎么做吗?

import java.io.*;

class FileCopy
{
   public static void main(String[] args) 
   {
      try 
      {
         File fileIn  = new File("Assign4.txt");
         File fileOut = new File("target.txt");

         FileInputStream streamIn   = new FileInputStream(fileIn);
         FileOutputStream streamOut = new FileOutputStream(fileOut);

         int c;
         while ((c = streamIn.read()) != -1) 
         {
            streamOut.write(c);
         }

         streamIn.close();
         streamOut.close();
      }
      catch (FileNotFoundException e) 
      {
         System.err.println("FileCopy: " + e);
      } 
      catch (IOException e) 
      {
         System.err.println("FileCopy: " + e);
      }
   }
}

谢谢你,感谢你的帮助。

【问题讨论】:

    标签: java io numbers try-catch copy-paste


    【解决方案1】:

    我会推荐 BufferedReader(当然)和 PrintWriter。与 BufferedWriter 相比,PrintWriter 是一个更丰富的 API。

    【讨论】:

      【解决方案2】:

      你可以BufferedReaderBufferedReader读写文本文件:

      BufferedReader br = new BufferedReader(new FileReader("Assign4.txt"));
      BufferedWriter writer = new BufferedWriter( new FileWriter("target.txt"));
          try {
              int count = 1;  
              StringBuilder sb = new StringBuilder();
              String line = br.readLine();            
              while (line != null) {
                  sb.append(count++);
                  sb.append(line);
                  sb.append("\n");
                  writer.write(line);
                  line = br.readLine();    
              }
          } finally {
              br.close();
              writer.close();
          }
      

      【讨论】:

      • 请不要为他做作业。这个想法是给他提示,这样他就可以自己做。
      • @StephenC 你是对的,所以我只是提供我的建议,OP应该了解BufferedReaderBufferedWriteStringBuilder
      猜你喜欢
      • 2015-03-22
      • 2016-12-10
      • 2011-12-18
      • 2020-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多