Java以原子方式更新文件

时间:2017-02-22 18:53:52

标签: java ffmpeg

我正在使用FFmpeg应用程序来传输带有存储在文件中的文本的实时视频。问题是我必须用新数据更新文件,这些数据必须显示在视频流中。

在Java中,我在循环中做了一个简单的脚本,在/ tmp /文件夹中写了一些字符串,如下所示:

public class FileSaverTS {

    public static void main(String[] args) {
        DateFormat df = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");

       Date d = null;
       String s= "";
        try {
            while (true) {
                d = Calendar.getInstance().getTime();
                s = df.format(d);
                System.out.println("File Saver: " + df.format(d));
                PrintWriter out = new PrintWriter("podatki.txt", "UTF-8");
                out.write("Test: " + s);
                out.close();
                Thread.sleep(1000);


            }

        } catch (FileNotFoundException ex) {
            Logger.getLogger(FileSaverTS.class.getName()).log(Level.SEVERE, null, ex);
        } catch (UnsupportedEncodingException ex) {
            Logger.getLogger(FileSaverTS.class.getName()).log(Level.SEVERE, null, ex);
        } catch (InterruptedException ex) {
            Logger.getLogger(FileSaverTS.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(FileSaverTS.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

}

当我运行FFmpeg应用程序时,我遇到了这种错误:enter image description here

如何用Java原子地编写文件? 来自FFmpeg手册:(确保以原子方式更新,或者可能部分读取,甚至失败)

0 个答案:

没有答案