如何使用Java将文件中的特定行复制到新文件中



这是我用来将记事本文件内容复制到另一个记事本文件的Java代码。这里我想做的是,假设我在记事本文件中有60万行我只想在另一个记事本文件中将行号从20万复制到50万。那么我需要对这段代码做哪些修改呢?

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("rn");
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();
}
}

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

最新更新