java的IO流詳細(xì)解讀

流,就是一系列的數(shù)據(jù)。

成都創(chuàng)新互聯(lián)公司"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機(jī)版的企業(yè)網(wǎng)站。實(shí)現(xiàn)跨屏營銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動(dòng)網(wǎng)絡(luò)一網(wǎng)打盡,滿足企業(yè)的營銷需求!成都創(chuàng)新互聯(lián)公司具備承接各種類型的網(wǎng)站建設(shè)、成都網(wǎng)站制作項(xiàng)目的能力。經(jīng)過十余年的努力的開拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務(wù),并獲得了客戶的一致好評(píng)。

當(dāng)不同介質(zhì)之間有數(shù)據(jù)交互的時(shí)候,JAVA就使用流來實(shí)現(xiàn)。數(shù)據(jù)源可以是文件,還可以是數(shù)據(jù)庫、網(wǎng)絡(luò)甚至其他的程序。

比如讀取文件的數(shù)據(jù)到程序中,站在程序的角度來看,就叫做輸入流。

字節(jié)流(以字節(jié)的形式讀取和寫入數(shù)據(jù))

InputStream字節(jié)輸入流同時(shí)也是抽象類,只提供方法聲明,不提供方法的具體實(shí)現(xiàn)。

FileInputStream是InputStream的子類,下面以FileInputStream為例進(jìn)行文件讀取

package testIO;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Date;
public class testFile {
	public static void main(String[] args) throws IOException {
		File f=new File("F:/test/lol.txt");
		//創(chuàng)建基于文件的輸入流 
		FileInputStream fis=new FileInputStream(f);
		//創(chuàng)建字節(jié)數(shù)組,其長度就是文件的長度 
		byte[] bs=new byte[(int) f.length()];
		System.out.println("以字節(jié)流的形式讀取文件的所有內(nèi)容:"+fis.read(bs));
		for (byte b:bs){
			System.out.println(b);
		}
		fis.close();
	}
}

OutputStream字節(jié)輸出流同時(shí)也是抽象類,只提供方法聲明,不提供方法的具體實(shí)現(xiàn)

FileOutputStream是OutputStream的子類,下面以FileOutputStream為例進(jìn)行數(shù)據(jù)寫入

package testIO;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class writeIO {
	public static void main(String[] args) throws IOException {
		File f=new File("F:/test/lol.txt");
		FileOutputStream fos=new FileOutputStream(f);
		byte data[]={87,88};
		fos.write(data);
		fos.close();
	}
}

注:如果lol文件不存在,寫出操作會(huì)自動(dòng)創(chuàng)建該文件,如果是目錄test不存在,則會(huì)拋出異常。

那么如果目錄test不存在,怎么可以讓程序自動(dòng)創(chuàng)建?如果路徑是F:/test/yang/lol.txt,且test和yang都不存在?

package testIO;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class writeIO {
	public static void main(String[] args) throws IOException {
		File f=new File("F:/test/yang/csdn/lol.txt");
		System.out.println(f.exists());
		File dir=f.getParentFile();
		//獲取文件所在目錄 
		if(!dir.exists()){
			dir.mkdirs();
			//如果文件目錄不存在,將會(huì)將不存在的目錄創(chuàng)建好
		}
		FileOutputStream fos=new FileOutputStream(f);
		byte data[]={87,88};
		fos.write(data);
		fos.close();
	}
}

程序中獲取到文件所在目錄,如果目錄不存在就會(huì)創(chuàng)建目錄

總結(jié)

以上就是本文關(guān)于java的IO流詳細(xì)解讀的全部內(nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

當(dāng)前名稱:java的IO流詳細(xì)解讀
文章鏈接:http://muchs.cn/article42/jcpjec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)品牌網(wǎng)站制作、外貿(mào)建站、App設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)公司企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司