摘要:字節(jié)輸入流一次讀取多個(gè)字節(jié)的方法從輸入流中讀取一定數(shù)量的字節(jié),并將其存儲(chǔ)在緩沖區(qū)數(shù)組中。
package com.itheima.demo02.InputStream;
import java.io.FileInputStream;
import java.io.IOException;
/*
字節(jié)輸入流一次讀取多個(gè)字節(jié)的方法: int read(byte[] b) 從輸入流中讀取一定數(shù)量的字節(jié),并將其存儲(chǔ)在緩沖區(qū)數(shù)組 b 中。 明確兩件事情: 1.方法的參數(shù)byte[]的作用? 起到緩沖作用,存儲(chǔ)每次讀取到的多個(gè)字節(jié) 數(shù)組的長度一把定義為1024(1kb)或者1024的整數(shù)倍 2.方法的返回值int是什么? 每次讀取的有效字節(jié)個(gè)數(shù) String類的構(gòu)造方法 String(byte[] bytes) :把字節(jié)數(shù)組轉(zhuǎn)換為字符串 String(byte[] bytes, int offset, int length) 把字節(jié)數(shù)組的一部分轉(zhuǎn)換為字符串 offset:數(shù)組的開始索引 length:轉(zhuǎn)換的字節(jié)個(gè)數(shù)
*/
public class Demo02InputStream {
public static void main(String[] args) throws IOException { //創(chuàng)建FileInputStream對(duì)象,構(gòu)造方法中綁定要讀取的數(shù)據(jù)源 FileInputStream fis = new FileInputStream("09_IOAndProperties.txt"); //使用FileInputStream對(duì)象中的方法read讀取文件 //int read(byte[] b) 從輸入流中讀取一定數(shù)量的字節(jié),并將其存儲(chǔ)在緩沖區(qū)數(shù)組 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));//AB len = fis.read(bytes); System.out.println(len);//2 System.out.println(new String(bytes));//CD len = fis.read(bytes); System.out.println(len);//1 System.out.println(new String(bytes));//ED len = fis.read(bytes); System.out.println(len);//-1 System.out.println(new String(bytes));//ED*/ /* 發(fā)現(xiàn)以上讀取時(shí)一個(gè)重復(fù)的過程,可以使用循環(huán)優(yōu)化 不知道文件中有多少字節(jié),所以使用while循環(huán) while循環(huán)結(jié)束的條件,讀取到-1結(jié)束 */ byte[] bytes = new byte[1024];//存儲(chǔ)讀取到的多個(gè)字節(jié) int len = 0; //記錄每次讀取的有效字節(jié)個(gè)數(shù) while((len = fis.read(bytes))!=-1){ //String(byte[] bytes, int offset, int length) 把字節(jié)數(shù)組的一部分轉(zhuǎn)換為字符串 offset:數(shù)組的開始索引 length:轉(zhuǎn)換的字節(jié)個(gè)數(shù) System.out.println(new String(bytes,0,len)); } //釋放資源 fis.close(); }
}
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/76201.html
showImg(https://segmentfault.com/img/bVbwrKA?w=1045&h=512);
摘要:是一個(gè)系統(tǒng)支持的所有字符的集合,包括各國家文字標(biāo)點(diǎn)符號(hào)圖形符號(hào)數(shù)字等字符集簡體中文碼表。支持中國國內(nèi)少數(shù)民族的文字,同時(shí)支持繁體漢字以及日韓漢字等字符集為表達(dá)任意語言的任意字符而設(shè)計(jì),是業(yè)界的一種標(biāo)準(zhǔn),也稱為統(tǒng)一碼標(biāo)準(zhǔn)萬國碼。 1 File1.1 File類的概述和構(gòu)造方法File: 它是文件和目錄路徑名的抽象...
摘要:學(xué)習(xí)筆記三在整個(gè)包中,實(shí)際上就是分為字節(jié)流和字符流,但是除了這兩個(gè)流之外,還存在了一組字節(jié)流字符流的轉(zhuǎn)換類。是字節(jié)流通向字符流的橋梁它使用指定的讀取字節(jié)并將其解碼為字符。主要的功能還是向文件中寫入文件構(gòu)造函數(shù)創(chuàng)建使用默認(rèn)字符編碼的。 Java IO學(xué)習(xí)筆記三 在整個(gè)IO包中,實(shí)際上就是分為字節(jié)流和字符流,但是除了這兩個(gè)流之外,還存在了一組字節(jié)流-字符流的轉(zhuǎn)換類。 OutputStre...
摘要:流按操作類型分為兩種字節(jié)流字節(jié)流可以操作任何數(shù)據(jù)因?yàn)樵谟?jì)算機(jī)中任何數(shù)據(jù)都是以字節(jié)的形式存儲(chǔ)的字符流字符流只能操作純字符數(shù)據(jù),比較方便。 1_IO流概述及其分類 1.概念 IO流用來處理設(shè)備之間的數(shù)據(jù)傳輸 Java對(duì)數(shù)據(jù)的操作是通過流的方式 Java用于操作流的類都在IO包中 流按流向分為兩種:輸入流,輸出流。 流按操作類型分為兩種: 字節(jié)流 : 字節(jié)流可以操作任何數(shù)據(jù),因?yàn)樵?..
摘要:文件復(fù)制練習(xí)一讀一寫明確數(shù)據(jù)源數(shù)據(jù)的目的地文件復(fù)制的步驟創(chuàng)建一個(gè)字節(jié)輸入流對(duì)象構(gòu)造方法中綁定要讀取的數(shù)據(jù)源創(chuàng)建一個(gè)字節(jié)輸出流對(duì)象構(gòu)造方法中綁定要寫入的目的地使用字節(jié)輸入流對(duì)象中的方法讀取文件使用字節(jié)輸出流中的方法把讀取到的字節(jié)寫入到目的地的 package com.itheima.demo03.CopyFile; import java.io.FileInputStream;impor...
閱讀 3590·2021-08-31 09:39
閱讀 1885·2019-08-30 13:14
閱讀 2955·2019-08-30 13:02
閱讀 2799·2019-08-29 13:22
閱讀 2375·2019-08-26 13:54
閱讀 800·2019-08-26 13:45
閱讀 1615·2019-08-26 11:00
閱讀 1013·2019-08-26 10:58