0

我想将输出结果保存到文本文件并随时检索它。为了将输出写入 .txt,我使用了以下代码。

 import java.io.*;

    class FileOutputDemo {  

        public static void main(String args[])
        {              
                FileOutputStream out; // declare a file output object
                PrintStream p; // declare a print stream object

                try
                {
                        // Create a new file output stream
                        // connected to "myfile.txt"
                        out = new FileOutputStream("myfile.txt");

                        // Connect print stream to the output stream
                        p = new PrintStream( out );

                        p.append ("This is written to a file");

                        p.close();
                }
                catch (Exception e)
                {
                        System.err.println ("Error writing to file");
                }
        }
    }

它工作正常,并且编写了预期的文本文件。但是每当我重新编译程序时,都会写入新的输出,而删除之前的输出。有没有办法保存先前编写的文件的输出并从先前的文本文件停止的地方继续(重新编译后)。

4

2 回答 2

4

试试这个:

out = new FileOutputStream("myfile.txt", true);

Javadoc:FileOutputStream.append(字符串名称,布尔值追加)

于 2013-03-08T08:17:37.653 回答
0

参见类的构造函数中记录的new FileOutputStream(file, true);(或fileName作为名称而不是file对象)。

更多提示

1. 报告

改变:

catch (Exception e)
{
    System.err.println ("Error writing to file");
}

到:

catch (Exception e)
{
    e.printStackTrace();
}

后者以更少的输入提供更多信息。

2.图形界面

如果这个应用程序。是有一个 GUI,文本通常由用户在JTextArea. 该组件从中扩展JTextComponent,提供了几乎用于保存和加载文本的“单行”:

  1. read(Reader, Object)
  2. write(Writer)
于 2013-03-08T08:18:41.903 回答