2016-08-08 25 views
0
int it_number = 1; 
public void write() throws IOException { 
     StringBuffer sb = new StringBuffer(name); 
     sb.append(it_number); 
     System.out.println(sb); 
     it_number++; 


     File file = new File(sb + ".txt"); 
     file.createNewFile(); 
     FileWriter writer = new FileWriter(file); 




     writer.write(results[0] + " " + results[1] + " " + velocity + "\n" ); 


    writer.flush(); 
    writer.close(); 

    } 
} 

字符串'name'是用户输入。迭代号“it_number”应该在每次同一用户重复此操作时递增,因此我可以使用同名的几个不同文件。但是这不断重写文件。我能做些什么来使每个迭代有所不同?我试图用增加的变量保存文件名

+0

你可以与我们分享迭代的代码吗? (for循环可能?) – GuiSim

+0

您必须将文件编号保存在另一个文件中。您读取另一个文件,将值增加1,然后将新值写入文件。否则,您的代码编写方式,您将在每次运行代码时创建文件1。 –

+0

是的,但我会需要在文件名中的数字增加不在文件内 – msd

回答

1

尝试:

static int it_number = 1;

你可能正在为每写一个新的对象。 static将使所有对象共享该值。

注意这只对程序的单次运行是唯一的。如果你想要更多的只是使用file_ <date_time_stamp>

+1

注意:这只对于该计划的单一运行。如果您想更多地使用file_ 。 –

+0

尽管您可能确定了问题的原因,但正确管理对象的生命周期将是一个更好的解决方案。 – erickson