Java文件(io)編程之文件字符流使用方法詳解
本文實(shí)例為大家分享了文件字符流的使用方法,供大家參考,具體內(nèi)容如下
案例1:
讀取一個(gè)文件并寫入到另一個(gè)文件中,char[] 來(lái)中轉(zhuǎn)。
首先要在E盤下創(chuàng)建一個(gè)文本文檔,命名為test.txt,輸入一些字符串。
public class Demo_5 { public static void main(String[] args) { FileReader fr=null; //文件取出字符流對(duì)象(輸入流) FileWriter fw=null; //寫入到文件(輸出流) try { fr=new FileReader("e:\\test.txt"); //創(chuàng)建一個(gè)fr對(duì)象 fw=new FileWriter("d:\\test.txt"); //創(chuàng)建輸出對(duì)象 char []c=new char[1024]; //讀入到內(nèi)存 int n=0; //記錄實(shí)際讀取到的字符數(shù) while((n=fr.read(c))!=-1){ //String s=new String(c,0,n); fw.write(c,0,n); } } catch (Exception e) { e.printStackTrace(); }finally{ try { fr.close(); fw.close(); } catch (Exception e) { e.printStackTrace(); } } } }
打開(kāi)D盤的test.txt文件,出現(xiàn)相同的字符串。
案例2:為了提高效率引入了緩沖字符流
依然實(shí)現(xiàn)讀取一個(gè)文件并寫入到另一個(gè)文件中,直接操作String。
public class Demo_6 { public static void main(String[] args) { BufferedReader br=null; BufferedWriter bw=null; try{ FileReader fr=new FileReader("e:\\test.txt"); //先創(chuàng)建FileReader對(duì)象 br=new BufferedReader(fr); FileWriter fw=new FileWriter("d:\\test1.txt"); //創(chuàng)建FileWriter對(duì)象 bw=new BufferedWriter(fw); String s=""; while((s=br.readLine())!=null){ //循環(huán)讀取文件,s不為空即還未讀完畢 bw.write(s+"\r\n"); //輸出到磁盤,加上“\r\n”為了實(shí)現(xiàn)換行 } }catch(Exception e){ e.printStackTrace(); }finally{ try { br.close(); bw.close(); } catch (Exception e) { e.printStackTrace(); } } } }
打開(kāi)D盤的test1.txt文件,出現(xiàn)相同的字符串。
總結(jié):字節(jié)流操作對(duì)象byte,字符流操作對(duì)象char,緩沖字符流操作對(duì)象String。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JDK8通過(guò)Stream 對(duì)List,Map操作和互轉(zhuǎn)的實(shí)現(xiàn)
這篇文章主要介紹了JDK8通過(guò)Stream 對(duì)List,Map操作和互轉(zhuǎn)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09java集合collection接口與子接口及實(shí)現(xiàn)類
這篇文章主要介紹了java集合collection接口與子接口及實(shí)現(xiàn)類,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07Java guava monitor監(jiān)視器線程的使用詳解
工作中的場(chǎng)景中是否存在類似這樣的場(chǎng)景,需要提交的線程在某個(gè)觸發(fā)條件下執(zhí)行。本文主要就是使用guava中的monitor來(lái)優(yōu)雅的實(shí)現(xiàn)帶監(jiān)視器的線程2021-11-11SpringBoot實(shí)現(xiàn)API接口的完整代碼
這篇文章主要給大家介紹了關(guān)于SpringBoot實(shí)現(xiàn)API接口的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10java 數(shù)據(jù)結(jié)構(gòu)基本算法希爾排序
這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)基本算法希爾排序的相關(guān)資料,需要的朋友可以參考下2017-08-08idea maven 項(xiàng)目src下的配置文件沒(méi)有同步至target的解決操作
這篇文章主要介紹了idea maven 項(xiàng)目src下的配置文件沒(méi)有同步至target的解決操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08Java內(nèi)部類持有外部類導(dǎo)致內(nèi)存泄露的原因與解決方案詳解
這篇文章主要為大家詳細(xì)介紹了Java因?yàn)閮?nèi)部類持有外部類導(dǎo)致內(nèi)存泄露的原因以及其解決方案,文中的示例代碼講解詳細(xì),希望對(duì)大家有所幫助2022-11-11SpringCloud之熔斷器Hystrix的實(shí)現(xiàn)
這篇文章主要介紹了SpringCloud之熔斷器Hystrix的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08