int b=0;
while((b = fReader.read()) != -1){
fWriter.write((char)b);}
不是很明白  writer() 方法如果输出单个字符,不应该是write(int b)吗,用char转换是个什么情况?io

解决方案 »

  1.   

    兄弟,你写错了吧。看Writer API ,附上链接:http://www.isstudy.com/uploads/allimg/090915/1_090915084636_1.gif
      

  2.   

    意思大概是这样的fReader是输入流,意思是从文件读入到计算机,当读到最后一个字符是,下一个索引就是-1,下面程序的大概意思为:
    int b=0;
    while((b = fReader.read()) != -1){//当文件中字符的索引为-1时(即最后一个字符时)
    fWriter.write((char)b);}//开始向文件中写进数据(从计算机中写出数据到文件中)
    好像是这样的意思吧
      

  3.   

    输出单个字符你可以用PrintWriter这样就不用转换了
      

  4.   

    个人观点:
    java 没有write(char c)这样的方法,楼主的代码write((char)b),内部还是先把char型,转成了int型,再按write(int b)写入。
    对于write(int b)这个方法,如果是字节流的方法,只要b的低8位;对于字符型型的方法,只要其低16位。所以write(int b)和write((char)b)最后的结果是一样的。