首页 > 解决方案 > 如何使用Java将文件中的特定行复制到新文件

问题描述

这是我用来将记事本文件内容复制到其他记事本文件的 Java 代码。在这里,我想这样做,假设我在记事本文件中有 600000 行,而我只想从另一个记事本文件中的行号 200000 复制到 500000。那么我必须在这段代码中进行哪些更改。

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

 public class FileCopy 
{
public static void main(String[] args) throws IOException 
{
   File fsrc=new File("C:\\\\Price.txt");         
  File fdes=new File("D:\\\\MyOutputFile.txt");        
  FileReader fr=new FileReader(fsrc);         
  BufferedReader br=new BufferedReader(fr); 
  FileWriter fw= new FileWriter(fdes);       
  String s=null;
  FileInputStream fis = new FileInputStream(fsrc);
  byte[] byteArray = new byte[(int)fsrc.length()];
  fis.read(byteArray);
  String data = new String(byteArray);
  String[] stringArray = data.split("\r\n");
  System.out.println("Number of lines in the file are ::"+stringArray.length);
  int lol=500;
  lol = stringArray.length;
  while((s=br.readLine())!=lol)             //Copying Content to the new file
  {
     fw.write(s);
     fw.write("\n");
     fw.flush();
   }
  System.out.println("File copied");
     fw.close();
}

}

标签: javajava-8

解决方案


所以我建议你看看这个教程。您应该使用 BufferedReader 而不是 FileInputStream。 BufferedReader 教程


推荐阅读