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

このアプリなら。に GUI が必要な場合、テキストは通常​​、ユーザーが に入力しますJTextArea。そのコンポーネントは、JTextComponentテキストの保存と読み込みのためのほぼ「ワンライナー」を提供するものから拡張されます。

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