我正在尝试编写一个程序,将sinwave的数据保存到.txt中,但是当我执行该程序时,它写的应该更少(有时甚至什么也没有)。这是代码:
public static void main(String[] args) {
GeneradorSeñal gs = new GeneradorSeñalSinusoidal("sgsg");
Double salida;
try{
FileOutputStream out = new FileOutputStream("out.txt");
OutputStreamWriter muestras = new OutputStreamWriter(out);
for(int i=0; i<500; i++){
salida=gs.getSalida();
muestras.write(String.valueOf(salida)+"\n");
System.out.println(i+"\t"+salida);
}
}catch(Exception e){
e.getStackTrace();
}
}
GeneradorSeñal和GeneradorSeñalSinusoidal是创建正弦曲线的类。
gs.getSalida()返回正弦值,正弦类运行良好,这不是问题。
最佳答案
确保始终调用输出流的close()
方法。这样可以确保将所有缓冲数据写入流中。
另外,如果您正在写字符,则使用FileWriter
更为方便。
关于java - FileOutputStream写得少于应该的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30592712/