当前位置: 代码迷 >> Java相关 >> [求助]菜鸟求助read用法
  详细解决方案

[求助]菜鸟求助read用法

热度:373   发布时间:2006-12-21 18:01:50.0
[求助]菜鸟求助read用法
package day15;
import java.io.*;
public class TestFileStream {
public static void main(String[] args) throws Exception {
FileInputStream in =new FileInputStream("a.txt"); //创建文件输出流对象
int i;
byte[]bs=new byte[3]; //创建byte 数组
while((i=in.read(bs))!=-1){ //根据对象流读字符的返回值确定是否继续执行//i读入缓冲区的字节总数
System.out.println(i+"\t");
for(int j=0;j<i;j++){
System.out.print( (char)bs[j]+"\t");
}
System.out.println();
}
System.out.println(i+"\t");
in.close();
}

}
3
A B C
3
D E F
2
G

为什么最后输出的是2呢?

搜索更多相关的解决方案: read  用法  

----------------解决方案--------------------------------------------------------

可能有空格等看不见的字符,你要看是什么,最好的方法还是把它的int 值打出来,不要打char


----------------解决方案--------------------------------------------------------
a.txt 内容123456

3
1 2 3
3
4 5 6
1


-1

----------------解决方案--------------------------------------------------------

这不 是正常的吗


----------------解决方案--------------------------------------------------------
那4下面的1怎么解释呀

----------------解决方案--------------------------------------------------------

读到了尾部-1啊

不是把-1打出来了吗?


----------------解决方案--------------------------------------------------------
4
1 <--------这里----------------
-1

----------------解决方案--------------------------------------------------------
1表示你的数组大小
-1表示你数组里面的元素的值
----------------解决方案--------------------------------------------------------
LZ用UE打开你那个a.txt文件看下,用HEX模式
肯定在123456后面还有一个字节的非打印数据.
----------------解决方案--------------------------------------------------------
试试看谢各位

----------------解决方案--------------------------------------------------------
  相关解决方案