Rah*_*acy 5 java buffer copy file line
我有一个包含 120 行的文件,我想将它们逐一移动到另一个文件,间隔例如 1 秒,并能够在 10 秒后在新文件中找到 10 行。
但就我而言,我在新文件中使用 0 行执行程序,直到最后,然后找到数据。
String sourceFileName = "D:\\oldfile.txt";
String destinationFileName = "D:\\newfile.txt";
if(evt.getSource() == btnProcess)
{
BufferedReader br = null;
PrintWriter pw = null;
try {
br = new BufferedReader(new FileReader(sourceFileName));
pw = new PrintWriter(new FileWriter(destinationFileName));
String line;
while ((line = br.readLine()) != null) {
pw.println(line);
Thread.sleep(1000);
}
br.close();
pw.close();
}catch (Exception e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
其次,为了在同一时刻以不同的时间间隔处理 4 个文件,我需要使用线程?感谢您的帮助。
当您写入文本文件时,PrintWriter不会立即将其写入磁盘。相反,它将数据保存在内存的缓冲区中。
当您需要将数据存储在磁盘上时,您可以手动刷新缓冲区。println()通话后flush()如下。
while ((line = br.readLine()) != null) {
pw.println(line);
pw.flush();
Thread.sleep(1000);
}
Run Code Online (Sandbox Code Playgroud)