次のようなエンコードを指定できます。UTF-8はファイルを書き込み、読み取ります。ファイルエンコーディングが不明な場合は、この方法を使用して最初にエンコードするファイルを取得し、次に正しいエンコードを指定して読み取ることができます。
ファイルエンコーディングを識別する方法、参照してください:Javaはファイルコンテンツのエンコーディングに従って自動的に読み取ります。
コードコピーは次のとおりです。
パッケージcom.zuidaima.util;
java.io.bufferedreaderをインポートします。
java.io.bufferedwriterをインポートします。
java.io.fileをインポートします。
java.io.fileinputStreamをインポートします。
java.io.fileoutputStreamをインポートします。
java.io.ioexceptionをインポートします。
java.io.inputStreamReaderをインポートします。
java.io.outputStreamWriterをインポートします。
public class readwritefilewithencode {
public static void write(文字列パス、文字列コンテンツ、文字列エンコード)
IOExceptionをスローする{
file file = new file(path);
file.delete();
file.createNewFile();
bufferedwriter writer = new BufferedWriter(new outputStreamWriter(
new fileoutputStream(ファイル)、エンコード));
writer.write(content);
writer.close();
}
public static string read(string path、string encoding)ioexception {
文字列content = "";
file file = new file(path);
BufferedReader Reader = new BufferedReader(new inputStreamReader(
new FileInputStream(ファイル)、エンコード));
文字列line = null;
while((line = reader.readline())!= null){
コンテンツ + = line + "/n";
}
reader.close();
コンテンツを返す;
}
public static void main(string [] args)throws ioexception {
文字列content = "中国語コンテンツ";
string path = "c:/test.txt";
文字列encoding = "utf-8";
readwritefilewithencode.write(path、content、encoding);
system.out.println(readwritefilewithencode.read(path、encoding));
}
}