求问,我用Thread.sleep()来实现每隔1秒打印一组数,系统输出是正确的,但是无法将输出写入txt文件,这是怎么回事?希望大家帮忙解决一下!谢谢!
代码如下:
public void actionPerformed(ActionEvent e) {
new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
try {
FileWriter fw;
fw=new FileWriter("C:\\Users\\yafei\\Desktop\\ZBandWall.txt");
for(int i=0;i<8;i++){
for(int j=0;j<8;j++){
System.out.println(i+j);
fw.write(i+j);
fw.write('\r');
fw.write('\n');
Thread.sleep(1000);
}
}
fw.close();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start();
}
------解决思路----------------------
你在 fw.close() 之前 调用 fw.flush() 再看看呢...
如果没问题了的话... 就再去api里看看flush这个方法是干啥的吧..
------解决思路----------------------
在Thread.sleep(1000);之前加上fw.flush();试试
------解决思路----------------------
可以在写入后调用flush();来保存操作。