繁体   English   中英

用Java读取/写入文件并添加行号

[英]Reading/Writing Files in Java and Adding Line Numbers

我需要完成以下任务:

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

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

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);
      }
   }
}

谢谢,谢谢您的帮助。

我会建议BufferedReader(肯定)和PrintWriter。 与BufferedWriter相比,PrintWriter是更丰富的API。

您可以通过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();
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM