d:/temp.txt这个路径是不是有问题,是斜杠还是反斜杠?

解决方案 »

  1.   

    if(i != -1) System.out.print((char)i);汉字一般是两个字节!
      

  2.   

    回复人: ningIII(小宁) ( ) 信誉:100  2004-06-10 11:32:00  得分: 0  
     
     
       if(i != -1) System.out.print((char)i);汉字一般是两个字节!
     
     这样行吗??
      

  3.   

    把i改为String类型试试看!
    ??那可如何判断文件结束否?
      

  4.   

    import java.io.*;public class temp {
      public static void main(String[] args) throws IOException {
        int i;
        FileInputStream fin;    try {
          fin = new FileInputStream("temp.txt");
        } catch (FileNotFoundException e) {
          System.out.println(e);
          return;
        }
        int ii=0;
     byte [] b=new byte[200];
          do {
            i = fin.read();
            if(i != -1) b[ii++]=(byte)i;
          } while(i != -1);
          fin.close();
      System.out.println(new String(b));
      }
    }
      

  5.   

    这是为什么呢?
    为什么将值赋到byte数组中,就可以呢?
      

  6.   

    是不是这样:
    byte是8位的,而一个汉字也是占8位,
    而当用byte数组,创建一个String对象时,自动将byte的编码变为字符,是这样吗?
      

  7.   

    其实如果你用FileReader类应该就不会遇到这样的问题了。FileInputStream类是用来处理字节的,而Reader类是用来处理字符的。