我正在尝试编写一个程序,将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/

10-09 17:15