本文目录一览:
- 1、java中read()方法的使用
- 2、java中read()方法的原理是什么?
- 3、java流的read方法返回值怎么来的?
- 4、Java:关于IO流中的read()方法
- 5、Java 编程下 IO 中的输入流的 read 方法返回值为什么是 int 值
- 6、java怎么用read()每次读文件中的四个字节保存在数组中
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()方法的原理是什么?
既然你能看到这个方法的源代码,那你也应该能看到FilterInputStream类的其它方法的源代码,FilterInputStream类中有十个方法和一个InputStream类型的变量,变量名是in。
十个方法里有九个是重写InputStream类的方法,并且八个是直接调用变量in的同名同参方法,另一个也只是在调用in的方法时填了两个默认参数。
而十个方法中的另一个方法是构造方法,参数是InputStream的,在方法中,直接把这个参数赋给了变量in。
所以FilterInputStream实质上只是对InputStream类做了一个简单的封装,实际调用的方法是在构造方法里传过来的InputStream对象的方法。
所以想看read()方法的具体实现,应给去找InputStream类或InputStream类的子类
java流的read方法返回值怎么来的?
inputstream的read函数 在很多地方都有用到 比如键盘输入或文件流输入或socket输入
read的返回值 并不是真正得到的数据,而是得到的数据的长度
你每次会希望读入一定的长度,比如你想读10个byte 如果剩余的byte数足够,将会读满所需要的字节数,如果剩余的字节数不够 将会返回一个小于你所读的数 如果读到-1 表示读取结束(经常在socket和文件读取遇到)
Java:关于IO流中的read()方法
API说明:
public int read() throws IOException
从此输入流中读取一个数据字节。如果没有输入可用,则此方法将阻塞。
指定者:类 InputStream 中的 read
返回:下一个数据字节;如果已到达文件末尾,则返回 -1。
抛出:IOException – 如果发生 I/O 错误。
个人理解:
该方法将输入按字节读入,当读取到字节时就返回该字节的int型数值(可以将其强制转换成byte类型),如果读取到文件末尾也就是无数据可读时则返回-1,表示以读到文件末尾。顺便说一句按此方法读取时需要将读到的int转成byte同时存入到一个足够大的byte数组中,然后根据该数组构造字符串,显示结果!
例:
public static void main(String[] args) throws IOException {
File f = new File(“E:/java文件/demo1.txt”);
InputStream ins = new FileInputStream(f);
byte[] bb = new byte[1024];
int temp = 0;
int i = 0;
while ((temp = ins.read()) != -1) {
bb[i++] = (byte) temp;
System.out.println((byte) temp);
}
System.out.println(new String(bb, “UTF-8”).trim());
}
关于Byte的toString()方法:
返回表示此 Byte 的值的 String 对象。该值被转换成有符号的十进制表示形式,并作为一个 string 返回,正如将 byte 值作为一个参数指定给 toString(byte) 方法所返回的一样。
覆盖:类 Object 中的 toString
返回:以基数 10 表示的此对象值的字符串表示形式。
Java 编程下 IO 中的输入流的 read 方法返回值为什么是 int 值
java中read方法返回的int类型:如果返回char, 那么无法表示流末尾. char的取值范围是从0到65535。这个范围内的所有字符, 都有可能在数据中出现。需要使用一个不可能在数据中出现的值来表示流末尾。那么Java中就是用-1来表示这个末尾的, 因为-1不会在数据中出现。而为了返回-1, 那么只能用int。当流中读取到一个字符时, read()方法内部就会当作int返回, 如果读到流末尾, 直接返回-1。
java怎么用read()每次读文件中的四个字节保存在数组中
java使用read()方法进行读文件中的四个字节保存在数组总的示例如下:
public static void main(String[] arg) throws Exception {
BufferedReader reader = new BufferedReader(new FileReader(“E:/test.txt”));
int[] list = new int[20];
int i = 0;
String line = null;
while ((line = reader.readLine()) != null) {
String[] vStrs = line.split(” “);
for (String str : vStrs) {
list[i++] = Integer.parseInt(str);
}
}
System.out.println(Arrays.toString(list));
}
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/232185.html