java读文件乱码问题
import *;public class Files {
String path="D:\\workspace\\1.txt";
//写文件
public void StringBufferDemo() throws IOException{
File file=new File(path);
if(!file.exists())
file.createNewFile();
FileOutputStream out=new FileOutputStream(file,true);
for(int i=0;i<10;i++){
StringBuffer sb=new StringBuffer();
sb.append("这是第"+i+"行:前面介绍的各种方法都不关用,为什么总是奇怪的问题 "); //追加子串的功能
out.write(sb.toString().getBytes("utf-8")); //
}
out.close();
}
//读文件
public String BufferedReaderDemo(String path) throws IOException{
File file=new File(path);
if(!file.exists()||file.isDirectory())
throw new FileNotFoundException();
BufferedReader br=new BufferedReader(new FileReader(file));
String temp=null;
StringBuffer sb=new StringBuffer();
temp=br.readLine();
while(temp!=null){
sb.append(temp+" ");
temp=br.readLine();
}
String s=new String(sb.toString().getBytes(),"UTF-8");
return s;
}
public static void main(String[] args) throws IOException{
Files files=new Files();
files.StringBufferDemo();
String s=files.BufferedReaderDemo(files.path);
System.out.println(s);
}
}
输出结果为:
?这是第0??:前面介绍的各种方法都不关??,为什么???是奇???的问题 这是??1??:前面介绍的各种方法都不关??,为什么???是奇???的问题 这是??2??:前面介绍的各种方法都不关??,为什么???是奇???的问题 这是??3??:前面介绍的各种方法都不关??,为什么???是奇???的问题 这是??4??:前面介绍的各种方法都不关??,为什么???是奇???的问题 这是??5??:前面介绍的各种方法都不关??,为什么???是奇???的问题 这是??6??:前面介绍的各种方法都不关??,为什么???是奇???的问题 这是??7??:前面介绍的各种方法都不关??,为什么???是奇???的问题 这是??8??:前面介绍的各种方法都不关??,为什么???是奇???的问题 这是??9??:前面介绍的各种方法都不关??,为什么???是奇???的问题
为什么有的可以正确输出,有的不行?怎么解决?
txt文件写入中文正常!QQ群:51820370,我新建的群,欢迎新手和高手加入!!
[[italic] 本帖最后由 longle 于 2007-12-18 21:26 编辑 [/italic]]