程序如下:
import java.io.InputStream;
import java.io.IOException;
public class InputEcho {
public static void mb_echo(InputStream in){
try{
while(true){
int i=in.read();
System.out.print((char)i);
System.out.print("* ");
}//while
}//try
catch(IOException e){
System.out.println(e);
}//catch
System.out.println();
}//mb_echo
public static void main(String[] args){
mb_echo(System.in);
}
}//InpurEcho
输入“1回车”后输出如下:
1*
*
*
为什么会多出最后两个 * 符号的?求大神们解答。。。
Java:为什么InputStream.read()读取一个byte却返回一个int呢?
当读取的是数字和英文时,返回值是对应的ascii码,当读取的是汉字时,返回的是汉字的机内码,比如你用的GBK编码方式,返回的就是GBK的内部编码,read()方法每次从inputstream中读取一个字节,而一个字节是8位,能2的八次方个数,也就是256,这也是read()返回0~255之间的数的原因。而asc是没有...
JAVA. FileInputStream 的 read()方法一次读取一个字节并返回 那返回...
我们需要使用一个不可能在数据中出现的值来表示流末尾, Java中就是用-1来表示这个末尾的, 因为-1不会在数据中出现,如果返回byte, 同样无法表示流末尾., byte的取值范围是从-128到127,这个范围内所有的数据, 都有可能在数据中出现,read()方法需要返回一个特殊的值来表示流末尾, 这个值不能和...
java的输入流的read方法返回的是什么呢?
read(bytes)返回的是个整数,是每次填充给bytes数组的长度。这个方法在按bytes数组读取文件。不等于-1是因为出现-1就说明文件已经读取结束了。可以通过这个方法,进行循环读取文件内容,当read返回值为-1的时候,表示文件读取完毕,就可以显示文件内容,进行相应的操作。
java流的read方法返回值怎么来的?
inputstream的read函数 在很多地方都有用到 比如键盘输入或文件流输入或socket输入 read的返回值 并不是真正得到的数据,而是得到的数据的长度 你每次会希望读入一定的长度,比如你想读10个byte 如果剩余的byte数足够,将会读满所需要的字节数,如果剩余的字节数不够 将会返回一个小于你所读的数 如果读到...
Java 中 InputStream 类中方法 read() 的使用问题
你好,read方法是按一个字节一个字节的读,它读取的时候,有一个想游标一样的东西,首先指向流的最开头 当read到-1的时候,表示读取到了流的最后面,表示已读取完毕
关于java.io包中,FileInputStream 的read()方法
public int read() throws IOException 从此输入流中读取一个数据字节。如果没有输入可用,则此方法将阻塞。指定者:类 InputStream 中的 read 返回:下一个数据字节;如果已到达文件末尾,则返回 -1。抛出:IOException - 如果发生 I\/O 错误。个人理解:该方法将输入按字节读入,当读取到字节时就返回...
字节流判断读到流末尾的标记是什么以及他的返回值为什么是0-255_百 ...
read()方法的返回值虽然是int,但这么理解是不好的,read()方法的返回值是InputStream的下一个字节,只是放在int的最后一个字节里。通常这个字节的int值,只要不是-1,没人会关心的。255的原因不是什么符号位的问题,只是一个int如果只有最后一个字节有效而其他都是0的话,范围就是0-255。"\\r"和...
java中的FileInputStream类中的read()方法是读取一个数据字节,那么读取...
read只会读取一个字节 不会自动读取下一个 只会读第一个字节 和指针不是一回事 如果想用字节流读完文件 一般用一个字节数组的缓冲区 比如200 byte[] buffer = new byte[200];\/\/创建字节数组 int length = 0;while(-1 != (length = is.read(buffer, 0, buffer.length))){ String str =...
java读取文件时,InputStream的read(byte[])方法的byte[]的长度不知...
那个长度应该只是缓冲区而已,应该不影响结果的。我做的时候一般都设置为1024,即1KB 这个是我部分的成功代码 inputStream = new BufferedInputStream(new FileInputStream(downloadFile));outputStream = new BufferedOutputStream(response .getOutputStream());byte[] buffer = new byte[1024];int read...
...用输入流打印出来 用in.read()方法怎么实现
应该可以 -1是read()方法的返回值。比如下面的代码:byte[] by=new byte[1024];FileInputStream filein=new FileInputStream("考场规则.txt");FileOutputStream fileout=new FileOutputStream("新生成.txt");while(filein.read(by)!=-1){ fileout.write(by);\/\/ fileout.write("\\n");...