import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
public class FileDemo02
{
public static void main(String[] args)throws Exception
{
File f=new File("d:"+File.separator+"test.txt");
Writer out=null;
out=new OutputStreamWriter(new FileOutputStream(f));//字节流变成字符流
out.write("hello world!!");
out.close();
}
}我查API资料上OutputStreamWriter是将字符流输出对象变成字节流的输出对象。这里怎么可以反过来用啊?
请高手指教。

解决方案 »

  1.   

    你不管怎么往文件里面写东西,最终都是通过字节流写入的,只不过你外面可以加各种各样的包装,通过包装来写字符串、data、object等各种类型的东西啊
      

  2.   

    OutputStreamWriter本身主要是用来充当转换字符流为字节流的桥梁 这没错
    但是这里仅仅只用到了其父类Writer的功能,而Writer就是用来写字符流的ps:FileOutputStream是用来写原始字节流的
      

  3.   

    定义个String str
    用str进行输出 
    不知道行不
      

  4.   

    你out.write("hello,中国");就可以看出来了
      

  5.   

    不用OutputStreamWriter你写的会是乱码
      

  6.   

    OutputStreamWriter 把字节流转成字符流 只要是后面是Writer或者Reader的就是字符流  后面是Stream的就是字节流