詳解FileInputStream讀取文件數(shù)據(jù)的兩種方式
更新時間:2019年08月16日 10:08:43 作者:曲健磊
這篇文章主要介紹了詳解FileInputStream讀取文件數(shù)據(jù)的兩種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
FileInputStream(文件字節(jié)讀取流):
read():一個一個字節(jié)的讀
read(byte[] buf):先把字節(jié)存入到緩沖區(qū)字節(jié)數(shù)組中,一下讀一個數(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ù)讀取出來 * 既然是讀,使用InputStream * 而且是要操作文件。FileInputStream * */ //為了確保文件一定在之前是存在的,將字符串路徑封裝成File對象 File file = new File("tempfile\\fos.txt"); if(!file.exists()){ throw new RuntimeException("要讀取的文件不存在"); } //創(chuàng)建文件字節(jié)讀取流對象時,必須明確與之關聯(lián)的數(shù)據(jù)源。 FileInputStream fis = new FileInputStream(file); //調(diào)用讀取流對象的讀取方法 //1.read()返回的是讀取到的字節(jié) //2.read(byte[] b)返回的是讀取到的字節(jié)個數(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ù)組里存儲的字節(jié)個數(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)建一個字節(jié)數(shù)組,定義len記錄長度 int len = 0; byte[] buf = new byte[SIZE]; while((len=fis.read(buf))!=-1){ System.out.println(new String(buf,0,len)); } //關資源 fis.close(); } }
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
springboot?vue項目管理后端實現(xiàn)接口新增
這篇文章主要為大家介紹了springboot?vue項目管理后端實現(xiàn)接口新增,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05SpringBoot使用Sharding-JDBC實現(xiàn)數(shù)據(jù)分片和讀寫分離的方法
本文主要介紹了SpringBoot使用Sharding-JDBC實現(xiàn)數(shù)據(jù)分片和讀寫分離,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10