0

私はプログラミングとログファイルの作成に不慣れです。私が書いたコードは、メッセージと時刻をテキストファイルに送信するときに機能します。しかし、私が別のメッセージを送信するたびに、それは前のメッセージを記録するだけです。最新のものではなく、メッセージと時間のリストが欲しいのですが。

public void run () {
        String message;
        try {
            while ((message = reader.readLine()) != null){
                System.out.println( "You voted " + message + " You the best") ;
                BufferedWriter out = new BufferedWriter(new FileWriter("test.txt"));
                out.append(message + "\n");
                TimeZone tz = TimeZone.getTimeZone("UTC"); // or PST, MID, etc ...
                Date now = new Date();
                DateFormat df = new SimpleDateFormat ("           yyyy.MM.dd hh:mm:ss ");
                df.setTimeZone(tz);
                String currentTime = df.format(now);
                String timeStamp = new SimpleDateFormat().format( new Date() ); 

                FileWriter aWriter = new FileWriter("test.txt", true);
                aWriter.write(currentTime + "   "  + "\n");
                aWriter.flush();
                aWriter.close();

                out.write(message);
                out.close();
                everyoneMessage(message);

            } // close while
            }catch(Exception ex) {ex .printStackTrace();}
        } // close run
    }// close inner class
4

3 に答える 3

1

変化するBufferedWriter out = new BufferedWriter(new FileWriter("test.txt"));

BufferedWriter out = new BufferedWriter(new FileWriter("test.txt", true)); 
               // true means append to the end of the file
于 2013-01-13T22:29:31.403 に答える
1

Javaのロギングは、log4jを介して行うのがベストプラクティスです。バックエンドのJavaプログラマーとして、log4jを使用せずにロガーを実装する必要がある状況は一度もありませんでした。

あなたはそれをチェックするべきです:http: //logging.apache.org/log4j/1.2/

そして、オンラインでいくつかの簡単なチュートリアルを見つけてください。簡単なグーグル検索で無数のものがあります。

幸運を。

于 2013-01-13T22:31:58.667 に答える
0

BufferedWriterループを介して再初期化しています。そのコードブロックをループの外側に移動します。または、この構成をFileWriter使用して、ファイルを次の場所に追加することもできます

BufferedWriter out = new BufferedWriter(new FileWriter("test.txt", true));
于 2013-01-13T22:30:30.693 に答える