「java读取‘read」java读取resource下的文件

博主:adminadmin 2023-03-22 19:37:08 791

本篇文章给大家谈谈java读取‘read,以及java读取resource下的文件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

在Java中的io流中,read读取文件时,读取完了没有了返回-1,(为什么不是0啊?没有了就是0啊?)

返回-1是对的啊,read字节数组的时候,读到最后一个没有的时候就数组越界异常,-1就是不在数组的索引值范围内,所以开发人员就将它作为read完成后的返回值

JAVA关于read(char[])方法读取文本内容的问题

我们就以内容是abcde为例:你设置的buf长度是1024,因此每次从文件中读取1024个字符。

第一次读取,fr.read(buf),因为文件中就5个字符,全被读到了buf中,此时len=5,执行循环体中的语句,输出abcde;然后程序继续执行;

第二次读取,fr.read(buf),由于文件中的数据第一次已经读完,因此此时返回值为-1,跳出循环。

所以最后输出abcde.

java 用FileInputStream中read方法读取文件出现乱码

while(is.read()!=-1){

    b[i]=(byte) is.read();

    i++;

}

这里是错的,当判断is.read() != -1的时候这个字节就已经被读取了,于是b[i] = (byte) is.read();这里读取的就是后面一个字节,自然会乱码。解决方法如下:

byte c = (byte)is.read();

while(c != -1){

    b[i] = c

    i++;

    c = (byte)is.read();

}

还有一种更方便的:

byte[] b = new byte[is.available()];

is.read(b);

java中read()方法的使用

字节流的read()()方法是操作字节流的,字符流的read()方法是操作unicode字符的。

可以通过BufferedReader

流的形式进行流缓存,通过read()方法获取到缓存的内容。

示例代码:

BufferedReader

bre

=

null;

try

{

String

file

=

"X:/xxxx/xxxx.txt";//文件地址

bre

=

new

BufferedReader(new

FileReader(file));//获取到的bre就是整个文件的缓存流

while

(

bre.read()

!=

-1)

{//

判断是否为最后一个字节,若是则结束循环

System.out.println(bre.read());//输出读到的内容

};

bre.close();//切记需要写close()关闭流

备注:字节流读取过程中很容易出现乱码,建议可以用readLine方式进行逐行的读取。

java读取‘read的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java读取resource下的文件、java读取‘read的信息别忘了在本站进行查找喔。