【发布时间】:2017-07-30 15:15:08
【问题描述】:
我有一个包含 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();
}
}
其次,要在同一时刻以不同的间隔处理4个文件,我需要使用线程吗? 感谢您的帮助。
【问题讨论】:
-
我没有得到你问题的第二部分 但就我而言,我在新文件中处理了 120 行,其中 0 行直到最后,然后我找到了我想要的数据我不是在找。
-
对不起,我没有正确表达我想要的东西。使用此代码,我必须等待 120 秒才能看到文件中的数据,而我想要的是在 40 秒后找到新文件中的 40 行。
-
对于第二部分,你也可以在一个线程中完成,但这会很混乱。对于一个干净的解决方案,您应该使用一个线程来处理一个文件。
标签: java file copy buffer line