首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

InputStream的read方法,该怎么解决

2012-04-09 
InputStream的read方法import java.io.*public class InputStream {public static void main(String[] ar

InputStream的read方法
import java.io.*;
public class InputStream {

public static void main(String[] args) throws Exception 
{
byte [] b = "abc1dsa".getBytes();
FileOutputStream out = new FileOutputStream("text1.txt");
out.write(b);
out.close();

/*byte buf[] = new byte[1024];
File f = new File("FileSteam.txt");
FileInputStream in = new FileInputStream(f);
in.read(buf);
System.out.println(new String(buf,0,buf.length));*/

File f = new File("text1.txt");
FileInputStream in = new FileInputStream(f);
while((in.read())!=-1);//while(ch!=-1); //这里错了
System.out.println(in.read());
in.close();
}

}

这个程序打印的是-1 我知道是while循环的in.read方法出错了 难道不是读一个字符吗


[解决办法]
每次是读一个字节的,但是你打印语句并不在while循环里面呀,你while后面跟了一个分号,相当于一个空循环体,读完所有数据后又打印的
[解决办法]
while((in.read())!=-1);//while(ch!=-1); //这里错了 

while后边用的是分号,你的循环已经结束了,在读出来的当然是-1了
[解决办法]

探讨
每次是读一个字节的,但是你打印语句并不在while循环里面呀,你while后面跟了一个分号,相当于一个空循环体,读完所有数据后又打印的

[解决办法]
探讨
每次是读一个字节的,但是你打印语句并不在while循环里面呀,你while后面跟了一个分号,相当于一个空循环体,读完所有数据后又打印的

热点排行