溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Java怎么利用緩沖流讀寫(xiě)文件

發(fā)布時(shí)間:2021-07-21 16:31:26 來(lái)源:億速云 閱讀:241 作者:chen 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹“Java怎么利用緩沖流讀寫(xiě)文件”,在日常操作中,相信很多人在Java怎么利用緩沖流讀寫(xiě)文件問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Java怎么利用緩沖流讀寫(xiě)文件”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

利用緩沖流讀寫(xiě)文件

從控制臺(tái)讀取數(shù)據(jù)寫(xiě)入文件

讀取文件輸出到控制臺(tái)

public class BookTest {
	public static void main(String[] args) {
		//從控制臺(tái)輸入信息并寫(xiě)入文件中
		BufferedReader ir=new BufferedReader(new InputStreamReader(System.in));   //包裝成字符輸入緩沖流
		BufferedWriter bw=null;
		try {
			bw=new BufferedWriter(new FileWriter("D:\\Test.txt"));
			for(String str=null;(str=ir.readLine())!=null;) {         
                //輸入 e 實(shí)現(xiàn)寫(xiě)文件安全退出
				if(str.equalsIgnoreCase("e")) {
					System.out.println("安全退出"); 
					break;
				}
				bw.write(str);             //寫(xiě)入一行
				bw.newLine();              //寫(xiě)入行分隔符
				bw.flush();                //刷新緩沖流
			}
		}catch(FileNotFoundException e) {
			e.printStackTrace();
		}catch(IOException e) {
			e.printStackTrace();
		}finally {
			if(ir!=null) {
				try {
					ir.close();
				}catch(IOException e) {
					e.printStackTrace();
				}
			}
			if(bw!=null) {
				try {
					bw.close();
				}catch(IOException e) {
					e.printStackTrace();
				}
			}
		}
		Book[] book=new Book[20];             //對(duì)象數(shù)組
		int k=0;
		BufferedReader br1=null;              
		try {
			br1=new BufferedReader(new FileReader("D:\\Test.txt"));      //利用緩沖流讀取文件
			String str=null;
			while((str=br1.readLine())!=null) {
				System.out.println(str);      //輸出一行
				//String[] s=str.split(",");
				//System.out.println(s[0]);
				//book[k++]=new Book(s[0],s[1],s[2],s[3],Integer.parseInt(s[4]));
			}
		}catch(FileNotFoundException e) {
			e.printStackTrace();
		}catch(IOException e) {
			e.printStackTrace();
		}finally {
			if(br1!=null) {
				try {
					br1.close();
				}catch(IOException e) {
					e.printStackTrace();
				}
			}
		}
     }
}

運(yùn)行效果:

Java怎么利用緩沖流讀寫(xiě)文件

Java怎么利用緩沖流讀寫(xiě)文件

值得注意的是:

該程序的寫(xiě)文件部分在程序的第一次運(yùn)行中運(yùn)行即可,以后運(yùn)行程序的時(shí)候要將此部分注釋掉,否則會(huì)一直先要從控制臺(tái)讀取數(shù)據(jù)寫(xiě)到文件中,除非需要修改文件中的內(nèi)容。

文件流和緩沖流

Java怎么利用緩沖流讀寫(xiě)文件

Java怎么利用緩沖流讀寫(xiě)文件

按照處理數(shù)據(jù)的單位的不同:字節(jié)流,字符流(處理的文本文件)

按照角色不同:節(jié)點(diǎn)流(直接作用于文件的),處理流

文件流(節(jié)點(diǎn)流):

FileInputStream
FileOutputStream
FileReader
FileWriter

緩沖流:有刷新

BufferedInputStream
BufferedOutputStream
BufferedReader  (ReadLine)(newLine)
BufferedWriter

輸入流 file.read(new byte[5]);

把文件讀到字節(jié)數(shù)組里

BufferedInputStream
int (len = file.read(new byte[5]))!=-1
FileReader
 (file.readLine(str)!=null

轉(zhuǎn)化流:InputStreamReader,OutputStreamWriter

到此,關(guān)于“Java怎么利用緩沖流讀寫(xiě)文件”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI