我想将输出结果保存到文本文件中,并在需要时检索它。为了将输出写入.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");
}
}
}
工作正常,写入了预期的文本文件。但每当我重新编译程序时,都会写入新输出,而删除前一个输出。有没有办法保存以前写入的文件的输出,并从上一个文本文件停止的位置拾取(重新编译后)。
答案 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。
变化:
catch (Exception e)
{
System.err.println ("Error writing to file");
}
要:
catch (Exception e)
{
e.printStackTrace();
}
后者以较少的输入提供更多信息。
如果这个应用程序。要有一个GUI,文本通常由用户在JTextArea
中输入。该组件从JTextComponent
延伸,为保存和加载文本提供了几乎“单行”: