Java文件(io)編程_文件字節(jié)流的使用方法
案例1:
演示FileInputStream類(lèi)的使用(用FileInputStream的對(duì)象把文件讀入到內(nèi)存)
首先要在E盤(pán)新建一個(gè)文本文件,命名為test.txt,輸入若干字符
public class Demo_2 { public static void main(String[] args) { File f=new File("e:\\test.txt"); //得到一個(gè)文件對(duì)象f,指向e:\\test.txt FileInputStream fis=null; try { fis=new FileInputStream(f); //因?yàn)镕ile沒(méi)有讀寫(xiě)的能力,所以需要使用FileInputStream byte []bytes=new byte[1024]; //定義一個(gè)字節(jié)數(shù)組,相當(dāng)于緩存 int n=0; //得到實(shí)際讀取到的字節(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(); } } } }
運(yùn)行程序,控制臺(tái)輸出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為了實(shí)現(xiàn)換行保存 String s2="24個(gè)比利"; fos.write(s.getBytes()); fos.write(s2.getBytes()); } catch (Exception e) { e.printStackTrace(); }finally{ try { fos.close(); } catch (IOException e) { e.printStackTrace(); } } } }
打開(kāi)E盤(pán)名為ss.txt的文本文檔,存在輸入的字符。
案例3:圖片拷貝
首先在E盤(pán)準(zhǔn)備一張圖片,命名為a.jpg
public class Demo_4 { public static void main(String[] args) { //思路 先把圖片讀入到內(nèi)存,再寫(xiě)入到某個(gè)文件 //因?yàn)閳D片是二進(jìn)制文件,只能用字節(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; //記錄實(shí)際讀取到的字節(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(); } } } }
打開(kāi)D盤(pán),點(diǎn)擊a.jpg,圖片正常顯示即運(yùn)行成功。
以上這篇Java文件(io)編程_文件字節(jié)流的使用方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot全局配置文件與多環(huán)境配置的全過(guò)程
SpringBoot項(xiàng)目在多環(huán)境配置上表現(xiàn)的非常優(yōu)秀,只需要非常簡(jiǎn)單的操作就可以完成配置,下面這篇文章主要給大家介紹了關(guān)于springboot全局配置文件與多環(huán)境配置的相關(guān)資料,需要的朋友可以參考下2021-12-12解決DataInputStream?read不等于-1,socket文件傳輸只能傳輸一個(gè)文件無(wú)法傳輸多個(gè)問(wèn)題
這篇文章主要介紹了解決DataInputStream?read不等于-1,socket文件傳輸只能傳輸一個(gè)文件無(wú)法傳輸多個(gè)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08Java實(shí)現(xiàn)輸出數(shù)字三角形實(shí)例代碼
大家好,本篇文章主要講的是Java實(shí)現(xiàn)輸出三角形實(shí)例代碼,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下,方便下次瀏覽2022-01-01Java實(shí)現(xiàn)幾十萬(wàn)條數(shù)據(jù)插入實(shí)例教程(30萬(wàn)條數(shù)據(jù)插入MySQL僅需13秒)
這篇文章主要給大家介紹了關(guān)于Java如何實(shí)現(xiàn)幾十萬(wàn)條數(shù)據(jù)插入的相關(guān)資料,30萬(wàn)條數(shù)據(jù)插入MySQL僅需13秒,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-04-04