java中向txt文件中写入字符串,怎么会出现乱码
str1:ABCDEFGstr2:abcdefgstr3:AaBbCcDdEeFfGg主程序中:write(str1,path3);//str1写入是正常的,其它的不正常...
str1:A B C D E F G
str2:a b c d e f g
str3:A a B b C c D d E e F f G g
主程序中:write(str1,path3);//str1写入是正常的,其它的不正常
private static void write(String str3, String path3) {
try{
File file=new File(path3);
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
bw.write(str3);
bw.close();
}catch(Exception e){
e.printStackTrace();
}
} 展开
str2:a b c d e f g
str3:A a B b C c D d E e F f G g
主程序中:write(str1,path3);//str1写入是正常的,其它的不正常
private static void write(String str3, String path3) {
try{
File file=new File(path3);
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
bw.write(str3);
bw.close();
}catch(Exception e){
e.printStackTrace();
}
} 展开
8个回答
展开全部
出现乱码通常是字符集的问题:要么是程序输出时就乱码了,要么是查看工具的问题。
我一般用Editplus查看文本文件,打开时可以选择用哪个字符集(Encoding)打开。
若确认程序输出时就乱码,可按如下方式:
java.io.PrintStream ps = null;
FileOutputStream fout = new FileOutputStream("my.txt");
String text="我的字符串数据";// 在写入前,可以调试下,看看在程序中是否乱码
String encoding="utf-8"; // 指定文件写入时采用的字符集(Windows默认是GBK)
ps = new java.io.PrintStream(fout, true, encoding);
ps.print(text);
ps.close();
fout.close();
ps = null;
fout = null;
展开全部
java io流中有两种:一种是字节流,一种是字符流,当汉字需要用字符流,其他格式的文件(如MP3,MP4什么)的用字节流。你写这种输入输出,先用数字做测试最好,你用123数字做测试再试试,如果没问题就是io流的问题。如果也是一样就把代码拿出来看看。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的字符集不对,统一转成UTF-8的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static void main(String[] args) {
try{
String str3 = "A a B b C c D d E e F f G g ";
File file=new File("E:/abc.txt");
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
bw.write(str3);
bw.close();
}catch(Exception e){
e.printStackTrace();
}
}
我写进去没无问题的
try{
String str3 = "A a B b C c D d E e F f G g ";
File file=new File("E:/abc.txt");
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
bw.write(str3);
bw.close();
}catch(Exception e){
e.printStackTrace();
}
}
我写进去没无问题的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用的是字节流来写入的文件流,要想忘*.txt里写入文件.应该是用字符流来写入
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询