日期:2014-05-20  浏览次数:20610 次

输出流创建文件无法写入数据
我想创建一个文件然后写入数据但是只创建了文件,写入的内容不显示这是怎么回事?下面是代码

public void writeFile(){
try{
FileWriter f=new FileWriter("D:/date.txt");
BufferedWriter buf=new BufferedWriter(f);
buf.write(" 天天向上");
f.close();
System.out.println("文件写入完毕");
}catch(Exception e){

}
}
public static void main(String []arg){
test123 cc=new test123();
cc.writeFile();
}

------解决方案--------------------
引用:
引用:引用:引用:引用:我想创建一个文件然后写入数据但是只创建了文件,写入的内容不显示这是怎么回事?下面是代码
Java code?123456789101112131415public void writeFile(){  ……

是的,所以还要把数组类型改成string  因为记事本存储方式是以字符串的方式存储的,所以用字符串的方式写进去,读出来才不会乱码----江良才尽了,正在学习ing。。。哈哈哈,希望能帮到你
------解决方案--------------------
这个看你用什么流去写这些数据,用字节流写的是他对应的ASK码(对应的英语不会写尴尬),那么他写的就是一段乱码的东西,要是用字符流写,那也要用指定的方法不然也是乱码的。
------解决方案--------------------
第一个问题上面貌似也没说到点,出现这个原因是你用的是缓冲流,缓存流在没有填满整个缓冲区的时候他是不会往外写的,这也是他的一个优势,你写的那几个字没有填满缓冲区所有他不会写到文件中加那句话的意思是把缓冲去的东西全部强制的刷出来。
------解决方案--------------------
引用:
引用:这个看你用什么流去写这些数据,用字节流写的是他对应的ASK码(对应的英语不会写尴尬),那么他写的就是一段乱码的东西,要是用字符流写,那也要用指定的方法不然也是乱码的。
指定的方法是指什么呢?
你把要写到文件中的字符串转换成byte数组,然后有个写byte数组的方法,那样应该不会错的你试试