问题描述
如何用java写文本文件,如下代码:byte[]b={';'};OutputStreamWriteropsw=null;opsw=newOutputStreamWriter(newFileOutputStream(newFile("D:\MyDocuments\Mini2440MyDocuments\food.txt")));for(inti=0;i<list.size();i++){Stringfoodname=list.get(i).getFoodName();floatfoodprice=list.get(i).getFoodPrice();opsw.write(foodname);opsw.write(";");opsw.write(String.valueOf(foodprice));opsw.write(";");}opsw.write('');opsw.close();这里生成的food.txt文件时ANSI编码的,我想要的是Unicode编码,怎么办??补充:这里写入的字符包括中文的
解决方案
解决方案二:
给个例子FileOutputStreamfos=newFileOutputStream(path);Writerout=newOutputStreamWriter(fos,"UTF-8");out.write(content);out.close();fos.close();
解决方案三:
引用楼主wyf1212的回复:
如何用java写文本文件,如下代码:byte[]b={';'};OutputStreamWriteropsw=null;opsw=newOutputStreamWriter(newFileOutputStream(newFile("D:\MyDocuments\Mini2440MyDocuments\food.txt")));for(inti=0……
这个例子,用的就是字符流的
解决方案四:
你用的是字节流,要用字符流,你可以去java的API文档去查具体用法
解决方案五:
1楼正解,OutputStreamWriter的构造方法里面可以选择编码3楼歪解,OutputStreamWriter就是字符流他是字符流与字节流之间的桥梁能把字节流转化为字符流也正因为此才能选择转化为字符流以后的编码格式
解决方案六:
所以字节流都是一样的,字符流需要指定特定的字符编码·进行读写
解决方案七:
引用4楼lodachi的回复:
1楼正解,OutputStreamWriter的构造方法里面可以选择编码3楼歪解,OutputStreamWriter就是字符流他是字符流与字节流之间的桥梁能把字节流转化为字符流也正因为此才能选择转化为字符流以后的编码格式
up!
解决方案八:
引用4楼lodachi的回复:
1楼正解,OutputStreamWriter的构造方法里面可以选择编码3楼歪解,OutputStreamWriter就是字符流他是字符流与字节流之间的桥梁能把字节流转化为字符流也正因为此才能选择转化为字符流以后的编码格式
up