最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java中的FileInputStream三種read()函數(shù)用法

 更新時間:2022年12月26日 09:38:42   作者:惟念依  
這篇文章主要介紹了java中的FileInputStream三種read()函數(shù)用法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

FileInputStream流的三種read()函數(shù)對比

首先我們先創(chuàng)建FileIputStream流對文件進(jìn)行讀取

	public static void main(String[] args) throws IOException {
		//創(chuàng)建File對象,保存文件夾路徑iu
		File fin_floder = new File("C:\\test.txt");	
	
		//創(chuàng)建從文件讀取數(shù)據(jù)的FileInputStream流
		FileInputStream fin = new FileInputStream(fin_floder);
		

1. int read( )函數(shù) 

該函數(shù)的返回值為int數(shù)值,表示讀取的字符對應(yīng)的ascii碼,當(dāng)返回為-1表示讀取到文件末尾;

            //順序讀取到文件末尾
			int temp = 0;
			while( (temp = fin.read()) != -1) {
			 	System.out.print(temp+"   ");  //打印read()返回值
		 		System.out.printf("%c",temp);  //打印ascii碼對應(yīng)的字符
		 		System.out.println();			//換行
			}

讀取 hello,world 文本文檔的結(jié)果:

2. read( byte [ ] ) 

返回讀入緩沖區(qū)的字節(jié)總數(shù),到末尾返回-1

	int size = fin.available();  //返回文件的總字節(jié)數(shù)
	byte[] b = new byte[size];   //生成緩存用于存放讀入的字節(jié)
	System.out.println(fin.read(b));
	String str = new String(b);  //將字節(jié)數(shù)組轉(zhuǎn)化為字符串
	System.out.println(str);

讀取 hello,world 文本文檔的結(jié)果:數(shù)值 11

3. read(byte[ ] ,int off ,int len)

off表示目標(biāo)數(shù)組b中的起始偏移量,也就是從第幾個下標(biāo)開始寫入數(shù)組,len表示寫入數(shù)組的長度;

	int size = fin.available();
	byte[] b = new byte[size];
	fin.read(b,2,5); //從數(shù)組的的第三個元素開始寫入,寫五個字節(jié)長度
	String str = new String(b); //字節(jié)數(shù)組轉(zhuǎn)化為字符串
	System.out.println(str);

輸出結(jié)果為:

FileInputStream中的read()方法

首先這是我自己寫代碼的時候遇到的一個問題,我思來想去,終于想通透了,所以想分享給大家,當(dāng)然這也是一個非常簡單的問題。

public class IO_InputStream
  public static void main(String[] args){//需要導(dǎo)包的,圖方便我就不寫了
//1.new一個FileInputStream對象
   FileInputStream fis = new FileInputStream("chifan.next)) ;
   //例如這個文本里面我放了1234567共7個字符,下面開始讀取文件
   while(fis.read() != -1){
     System.out.print( char)fis.read() );  //將read()方法調(diào)用后返回值為int類型強(qiáng)制轉(zhuǎn)換為字符,以便打印
   }
   //但是打印結(jié)果就是:246,隔一個打印一個,我感到疑惑
   //后來我左思右想發(fā)現(xiàn)我在while的執(zhí)行語句塊里面的打印方法又調(diào)用了一次read()方法,導(dǎo)致打印的其實(shí)是每次讀取兩個字符后,只會打印每兩個的最后一個字符,如果我們在123456后面再一個7,那么最后打印的就是一個?如何解決呢?就是我們不要在執(zhí)行語句塊里面出現(xiàn)read()方法
   int len;
   while(len=fis.read() != -1){
     System.out.print( char)len);
}
//這樣結(jié)果就一致了

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring?零基礎(chǔ)入門WebFlux框架體系

    Spring?零基礎(chǔ)入門WebFlux框架體系

    Spring5發(fā)布有兩年了,隨Spring5一起發(fā)布了一個和Spring?WebMvc同級的Spring?WebFlux。這是一個支持反應(yīng)式編程模型的新框架體系。反應(yīng)式模型區(qū)別于傳統(tǒng)的MVC最大的不同是異步的、事件驅(qū)動的、非阻塞的,這使得應(yīng)用程序的并發(fā)性能會大大提高,單位時間能夠處理更多的請求
    2022-07-07
  • Java日期時間字符串和毫秒相互轉(zhuǎn)換的方法

    Java日期時間字符串和毫秒相互轉(zhuǎn)換的方法

    這篇文章主要為大家詳細(xì)介紹了Java日期時間字符串和毫秒相互轉(zhuǎn)換的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Java的RTTI和反射機(jī)制代碼分析

    Java的RTTI和反射機(jī)制代碼分析

    這篇文章主要涉及了Java的RTTI和反射機(jī)制代碼分析的相關(guān)內(nèi)容,在介紹運(yùn)行時類型識別的同時,又向大家展示了其實(shí)例以及什么時候會用到反射機(jī)制,內(nèi)容豐富,需要的朋友可以參考下。
    2017-09-09
  • maven+springboot打成jar包的方法

    maven+springboot打成jar包的方法

    這篇文章主要介紹了maven+springboot打成jar包的方法,非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-10-10
  • java中抽象類和接口的相同和不同點(diǎn)介紹

    java中抽象類和接口的相同和不同點(diǎn)介紹

    大家好,本篇文章主要講的是java中抽象類和接口的相同和不同點(diǎn)介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Java數(shù)組集合的深度復(fù)制代碼實(shí)例

    Java數(shù)組集合的深度復(fù)制代碼實(shí)例

    這篇文章主要介紹了Java數(shù)組集合的深度復(fù)制代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • springboot Mongodb的集成與使用實(shí)例詳解

    springboot Mongodb的集成與使用實(shí)例詳解

    這篇文章主要介紹了springboot Mongodb的集成與使用實(shí)例詳解,需要的朋友可以參考下
    2018-04-04
  • IDEA上實(shí)現(xiàn)JDBC編程的方法步驟

    IDEA上實(shí)現(xiàn)JDBC編程的方法步驟

    本文主要介紹了IDEA上實(shí)現(xiàn)JDBC編程的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Java class文件格式之訪問標(biāo)志信息_動力節(jié)點(diǎn)Java學(xué)院整理

    Java class文件格式之訪問標(biāo)志信息_動力節(jié)點(diǎn)Java學(xué)院整理

    access_flags 描述的是當(dāng)前類(或者接口)的訪問修飾符, 如public, private等, 此外, 這里面還存在一個標(biāo)志位, 標(biāo)志當(dāng)前的額這個class描述的是類, 還是接口
    2017-06-06
  • Spring ApplicationListener監(jiān)聽器用法詳解

    Spring ApplicationListener監(jiān)聽器用法詳解

    這篇文章主要介紹了Spring ApplicationListener監(jiān)聽器用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11

最新評論

旌德县| 齐河县| 宝鸡市| 扎囊县| 山西省| 张家川| 克什克腾旗| 太仆寺旗| 龙陵县| 太原市| 天门市| 离岛区| 深圳市| 吉木乃县| 丽水市| 清镇市| 马山县| 和政县| 潮安县| 墨竹工卡县| 武威市| 屯门区| 泌阳县| 崇州市| 琼结县| 依兰县| 平罗县| 庆城县| 革吉县| 西平县| 新邵县| 新安县| 五寨县| 营口市| 惠水县| 兴文县| 陆丰市| 潞城市| 班玛县| 县级市| 石楼县|