关于类InputStreamReader/OutputStreamWriter的用法:
package cn.oop.io.text;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.nio.charset.Charset;
/**
* 实现解码,编码OutStreamWiter/InputStreamReater
* @author 12589
*
*/
public class JiemaBianma {
public static void main(String[] args) {
try {
// bian(new File("G:/测试文件夹/相思赋予谁2.txt"),wendang() , "UTF-16");
System.out.println(jiema(new File("G:/测试文件夹/相思赋予谁2.txt"), "utf-16"));
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
/**
* 解码,file要解码的txt文件,CharsetNmae指定的解码的字符集名称
* @throws Exception
*/
public static String jiema(File file ,String CharsetNmae) throws Exception {
StringBuffer strB=new StringBuffer();
System.out.println("当前解码集名称:"+CharsetNmae);
InputStreamReader input=new InputStreamReader(new FileInputStream(file),CharsetNmae);
char[] chs=new char[200];
while (-1!=(input.read(chs))) {
strB.append(new String(chs));
}
input.close();
return strB.toString();
}
/**
* 编码,file代表你将要输出的文件位置,txt代表你要输入的字符串,CharsetName代表编码字符集名称
* @throws IOException
*/
public static void bian(File file,String txt,String CharsetName) throws IOException {
FileOutputStream fStream=new FileOutputStream(file);
OutputStreamWriter writer=new OutputStreamWriter(fStream,CharsetName);
writer.write(txt);
writer.flush();
writer.close();
System.out.println("完成");
}
}