字节输入流一次读取多个字节
生活随笔
收集整理的這篇文章主要介紹了
字节输入流一次读取多个字节
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package com.learn.demo02.InputStream;import java.io.FileInputStream;
import java.io.IOException;/*字節輸入流一次讀取多個字節的方法:int read(byte[] b) 從輸入流中讀取一定數量的字節,并將其存儲在緩沖區數組 b 中。明確兩件事情:1.方法的參數byte[]的作用?起到緩沖作用,存儲每次讀取到的多個字節數組的長度一把定義為1024(1kb)或者1024的整數倍2.方法的返回值int是什么?每次讀取的有效字節個數String類的構造方法String(byte[] bytes) :把字節數組轉換為字符串String(byte[] bytes, int offset, int length) 把字節數組的一部分轉換為字符串 offset:數組的開始索引 length:轉換的字節個數*/
public class Demo02InputStream {public static void main(String[] args) throws IOException {//創建FileInputStream對象,構造方法中綁定要讀取的數據源FileInputStream fis = new FileInputStream("b.txt");//使用FileInputStream對象中的方法read讀取文件//int read(byte[] b) 從輸入流中讀取一定數量的字節,并將其存儲在緩沖區數組 b 中。/*byte[] bytes = new byte[2];int len = fis.read(bytes);System.out.println(len);//2//System.out.println(Arrays.toString(bytes));//[65, 66]System.out.println(new String(bytes));//ABlen = fis.read(bytes);System.out.println(len);//2System.out.println(new String(bytes));//CDlen = fis.read(bytes);System.out.println(len);//1System.out.println(new String(bytes));//EDlen = fis.read(bytes);System.out.println(len);//-1System.out.println(new String(bytes));//ED*//*發現以上讀取時一個重復的過程,可以使用循環優化不知道文件中有多少字節,所以使用while循環while循環結束的條件,讀取到-1結束*/byte[] bytes = new byte[1024];//存儲讀取到的多個字節int len = 0; //記錄每次讀取的有效字節個數while((len = fis.read(bytes))!=-1){//String(byte[] bytes, int offset, int length) 把字節數組的一部分轉換為字符串 offset:數組的開始索引 length:轉換的字節個數System.out.println(new String(bytes,0,len));}//釋放資源fis.close();}
}
?
總結
以上是生活随笔為你收集整理的字节输入流一次读取多个字节的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 字节输入流一次读取一个字节的原理
- 下一篇: 文件复制