JAva指定符号化の行別読み書きtxtファイル(いくつかの読み書き方式の比較)
9646 ワード
入出力のいくつかの形式
1.FileReader,FileWriter
2.inputStreamReader,outputStreamWriter
3.行ごとの読み書きと符号化方式の指定
1.FileReader,FileWriter
File r = new File("temp.txt")
FileReader f = new FileReader(name);// name
BufferedReader b = new BufferedReader(f);// , readline , 。
Srting str = null;
while((str = b.readline()) != null){
System.out.print(str);//
}
// FileReader , ,
FileWriter writer = new FileWriter("c://test.txt");//FileWriter , 。
BufferedWriter bw = new BufferedWriter(writer);// ,
bw.write(" ");
2.inputStreamReader,outputStreamWriter
File f = new File("//..//");
InputStreamReader reader = new InputStreamReader(new FileInputStream(f));
BuffeReader br = new BufferedWriter(reader);
//FileReader
//FileInputStream
//InputStreamReader , InputStreamReader , 。
//OutputStreamWriter InputStreamReader, , 。
3.行ごとの読み書きと符号化方式の指定
// , , ,
List<String>temp = new ArrayList<>();
File f = new File("c://data.txt");
InputStreamReader reader = new InputStreamReader(new FileInputStream(f),"GBK");
BufferedReader br = new BufferedReader(reader);
String str=null;
while((str=br.readline())!=null){
temp.append(str);
}
br.close();
reader.close();
// 。 ,
OutputStreamWriter os = new OutputStreamWriter(new FileOutputStream("out.txt"),"GBK");
BufferedWriter bw = new BufferedWriter(os);
PrintWriter out = new PrintWriter(bw);
for(String aTemp:temp){
out.println(aTemp);
}
bw.close();
os.close();
out.close();