詳解FileInputStream讀取文件數(shù)據(jù)的兩種方式
FileInputStream(文件字節(jié)讀取流):
read():一個(gè)一個(gè)字節(jié)的讀
read(byte[] buf):先把字節(jié)存入到緩沖區(qū)字節(jié)數(shù)組中,一下讀一個(gè)數(shù)組(常用)
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Arrays; public class FileInputStreamDemo1 { private static final int SIZE = 4096; public static void main(String[] args) throws IOException { /* * 將已有文件的數(shù)據(jù)讀取出來(lái) * 既然是讀,使用InputStream * 而且是要操作文件。FileInputStream * */ //為了確保文件一定在之前是存在的,將字符串路徑封裝成File對(duì)象 File file = new File("tempfile\\fos.txt"); if(!file.exists()){ throw new RuntimeException("要讀取的文件不存在"); } //創(chuàng)建文件字節(jié)讀取流對(duì)象時(shí),必須明確與之關(guān)聯(lián)的數(shù)據(jù)源。 FileInputStream fis = new FileInputStream(file); //調(diào)用讀取流對(duì)象的讀取方法 //1.read()返回的是讀取到的字節(jié) //2.read(byte[] b)返回的是讀取到的字節(jié)個(gè)數(shù) //1. // int by=0; // while((by=fis.read())!=-1){ // System.out.println(by); // } //2. // byte[] buf = new byte[3]; // int len = fis.read(buf);//len記錄的是往字節(jié)數(shù)組里存儲(chǔ)的字節(jié)個(gè)數(shù) // System.out.println(len+"...."+Arrays.toString(buf));//只是轉(zhuǎn)成了字符串的表現(xiàn)形式 // System.out.println(len+"...."+new String(buf,0,len));//轉(zhuǎn)成字符串 // // int len1 = fis.read(buf); // System.out.println(len1+"...."+new String(buf,0,len1)); //創(chuàng)建一個(gè)字節(jié)數(shù)組,定義len記錄長(zhǎng)度 int len = 0; byte[] buf = new byte[SIZE]; while((len=fis.read(buf))!=-1){ System.out.println(new String(buf,0,len)); } //關(guān)資源 fis.close(); } }
大數(shù)據(jù)系統(tǒng)學(xué)習(xí)教程
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
springboot?vue項(xiàng)目管理后端實(shí)現(xiàn)接口新增
這篇文章主要為大家介紹了springboot?vue項(xiàng)目管理后端實(shí)現(xiàn)接口新增,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05java 二維數(shù)組矩陣乘法的實(shí)現(xiàn)方法
java 二維數(shù)組矩陣乘法的實(shí)現(xiàn)方法,需要的朋友可以參考一下2013-03-03Spring啟動(dòng)過(guò)程源碼分析及簡(jiǎn)介
本文是通過(guò)AnnotationConfigApplicationContext讀取配置類來(lái)一步一步去了解Spring的啟動(dòng)過(guò)程。本文重點(diǎn)給大家介紹Spring啟動(dòng)過(guò)程源碼分析及基本概念,感興趣的朋友一起看看吧2021-10-10SpringBoot使用Sharding-JDBC實(shí)現(xiàn)數(shù)據(jù)分片和讀寫分離的方法
本文主要介紹了SpringBoot使用Sharding-JDBC實(shí)現(xiàn)數(shù)據(jù)分片和讀寫分離,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10