web-dev-qa-db-ja.com

文字列をテキストファイルにどのように書き込みますか?

いくつかのファイルの処理結果を保存している文字列があります。その文字列をプロジェクトの.txtファイルに書き込むにはどうすればよいですか? .txtファイルの目的の名前である別のString変数があります。

7
user1261445

これを試して:

//Put this at the top of the file:
import Java.io.*;
import Java.util.*;

BufferedWriter out = new BufferedWriter(new FileWriter("test.txt"));

//Add this to write a string to a file
//
try {

    out.write("aString\nthis is a\nttest");  //Replace with the string 
                                             //you are trying to write
}
catch (IOException e)
{
    System.out.println("Exception ");

}
finally
{
    out.close();
}
16
A B

好きですか?

FileUtils.writeFile(new File(filename), textToWrite); 

FileUtils はCommonsIOで利用できます。

6
Peter Lawrey

バイトベースのストリームを使用して作成されたファイルは、バイナリ形式のデータを表します。文字ベースのストリームを使用して作成されたファイルは、データを文字のシーケンスとして表します。テキストファイルはテキストエディタで読み取ることができますが、バイナリファイルはデータを人間が読める形式に変換するプログラムで読み取られます。

クラスFileReaderおよびFileWriterは、文字ベースのファイルI/Oを実行します。

Java 7を使用している場合は、try-with-resourcesを使用してメソッドを大幅に短縮できます。

import Java.io.PrintWriter;
public class Main {
    public static void main(String[] args) throws Exception {
        String str = "写字符串到文件"; // Chinese-character string
        try (PrintWriter out = new PrintWriter("output.txt", "UTF-8")) {
            out.write(str);
        }
    }
}

Javaのtry-with-resourcesステートメントを使用して、自動的にcloseリソース(不要になったときに閉じる必要のあるオブジェクト)を使用できます。リソースクラスはJava.lang.AutoCloseableインターフェイスまたはそのJava.lang.Closeableサブインターフェイスを実装する必要があることを考慮する必要があります。

4
Paul Vargas