如何在java中“保存”文本文件中的结果

时间:2013-03-08 08:15:26

标签: java file-io

我想将输出结果保存到文本文件中,并在需要时检索它。为了将输出写入.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");
                }
        }
    }

工作正常,写入了预期的文本文件。但每当我重新编译程序时,都会写入新输出,而删除前一个输出。有没有办法保存以前写入的文件的输出,并从上一个文本文件停止的位置拾取(重新编译后)。

2 个答案:

答案 0 :(得分:4)

试试这个:

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

Javadoc:FileOutputStream.append(String name, boolean append)

答案 1 :(得分:0)

请将new FileOutputStream(file, true);(或fileName作为名称而非file个对象)视为该类的documented in the constructors

进一步提示

1。报告

变化:

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

要:

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

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

2。 GUI

如果这个应用程序。要有一个GUI,文本通常由用户在JTextArea中输入。该组件从JTextComponent延伸,为保存和加载文本提供了几乎“单行”:

  1. read(Reader, Object)
  2. write(Writer)