Java文件(io)編程_文件字節(jié)流的使用方法
案例1:
演示FileInputStream類的使用(用FileInputStream的對象把文件讀入到內(nèi)存)
首先要在E盤新建一個文本文件,命名為test.txt,輸入若干字符
public class Demo_2 {
public static void main(String[] args) {
File f=new File("e:\\test.txt"); //得到一個文件對象f,指向e:\\test.txt
FileInputStream fis=null;
try {
fis=new FileInputStream(f); //因為File沒有讀寫的能力,所以需要使用FileInputStream
byte []bytes=new byte[1024]; //定義一個字節(jié)數(shù)組,相當于緩存
int n=0; //得到實際讀取到的字節(jié)數(shù)
while((n=fis.read(bytes))!=-1){ //循環(huán)讀取
String s=new String(bytes,0,n); //把字節(jié)轉(zhuǎn)成String
System.out.println(s);
}
} catch (Exception e) {
e.printStackTrace();
}finally{ //關(guān)閉文件流必須放在這里
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
運行程序,控制臺輸出test.txt中輸入的字符。
案例2:
演示FileOutputStream的使用(把輸入的字符串保存到文件中)
public class Demo_3 {
public static void main(String[] args) {
File f=new File("e:\\ss.txt");
FileOutputStream fos=null; //字節(jié)輸出流
try {
fos=new FileOutputStream(f);
String s="你好,瘋子!\r\n"; //\r\n為了實現(xiàn)換行保存
String s2="24個比利";
fos.write(s.getBytes());
fos.write(s2.getBytes());
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
打開E盤名為ss.txt的文本文檔,存在輸入的字符。
案例3:圖片拷貝
首先在E盤準備一張圖片,命名為a.jpg
public class Demo_4 {
public static void main(String[] args) {
//思路 先把圖片讀入到內(nèi)存,再寫入到某個文件
//因為圖片是二進制文件,只能用字節(jié)流完成
FileInputStream fis=null; //輸入流
FileOutputStream fos=null; //輸出流
try {
fis=new FileInputStream("e:\\a.jpg");
fos=new FileOutputStream("d:\\a.jpg");
byte []bytes=new byte[1024];
int n=0; //記錄實際讀取到的字節(jié)數(shù)
while((n=fis.read(bytes))!=-1){ //read函數(shù)返回讀入緩沖區(qū)的字節(jié)總數(shù)
fos.write(bytes); //輸出到指定文件
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
fis.close();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
打開D盤,點擊a.jpg,圖片正常顯示即運行成功。
以上這篇Java文件(io)編程_文件字節(jié)流的使用方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
聊聊Java BigInteger里面的mod和remainder的區(qū)別
這篇文章主要介紹了聊聊Java BigInteger里面的mod和remainder的區(qū)別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
Java的可變參數(shù)與Collections類的功能示例解析
這篇文章主要為大家介紹了Java的可變參數(shù)與Collections類的功能示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05
淺析JavaWeb項目架構(gòu)之Redis分布式日志隊列
架構(gòu)、分布式、日志隊列,標題自己都看著唬人,其實就是一個日志收集的功能,只不過中間加了一個Redis做消息隊列罷了。下面通過本文給大家分享JavaWeb項目架構(gòu)之Redis分布式日志隊列,感興趣的朋友一起看看吧2018-01-01
SpringSecurity構(gòu)建基于JWT的登錄認證實現(xiàn)
這篇文章主要介紹了SpringSecurity構(gòu)建基于JWT的登錄認證實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02
Java HelloWorld原理分析_動力節(jié)點Java學院整理
我們初學java的第一個程序是"hello world"。下面通過實例代碼給大家講解Java HelloWorld原理分析,感興趣的朋友一起學習吧2017-05-05
如何使用Spring?integration在Springboot中集成Mqtt詳解
MQTT是多個客戶端通過一個中央服務(wù)器傳遞信息的多對多協(xié)議,能高效地將信息分發(fā)給一個或多個訂閱者,下面這篇文章主要給大家介紹了關(guān)于如何使用Spring?integration在Springboot中集成Mqtt的相關(guān)資料,需要的朋友可以參考下2023-02-02

