国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

簡單的I/O流的讀取與輸入(上)

2019-11-11 04:01:45
字體:
供稿:網(wǎng)友

  I/O流中的字節(jié)流的讀取與輸入

(用于讀取寫入二進制文件,如圖片、聲音、影響等類型文件)

1.對于文件的讀取,輸入流InputStream下的子類FileInputStream有一個read()可以讀取數(shù)據(jù),read(byte[])這個方法需要傳入一個參數(shù)這個參數(shù)是一個byte型的數(shù)組,用于存儲讀取到的數(shù)據(jù)2.把byte數(shù)組轉(zhuǎn)化為string類型的數(shù)據(jù)方便使用String str=new String(by)(by是byte型數(shù)組的名稱)讀取完文件后需要關(guān)閉輸入流,以免占用內(nèi)存空間3.完整的過程需要用try/catch來包住,以免程序發(fā)生錯誤而終止不了讀取文件代碼示例:

public Static String getMsg(){	byte msg[]=new byte[100];	String str=null;	try{		InputStream is=new FileInputStream("src/a.txt");		is.read(msg);		str=new String(msg);		is.close();	}catch(FileNotFoundException e){		e.PRintStackTrace();	}catch(IOException e){		e.printStackTrace();	}	return str;}

4.對于文件的寫入,OutputStream下的子類FileOutputStream有一個write()方法寫入數(shù)據(jù)到指定文件,write()方法需要傳入一個byte[]數(shù)組,如果你想傳入String類型的數(shù)據(jù),String類型數(shù)據(jù)有可以轉(zhuǎn)化為byte[]的方法寫入文件代碼示例:

public Static String putMsg(){	String msg=getMsg();	try{		OutputStream os=new FileOutputStream("src/b.txt",true);		os.write(13);		os.wirte(10);		//在windows系統(tǒng)下,換行符用ASCII碼表示是13 10,這里是換行的意思		os.write(msg.getBytes());		//把String類型數(shù)據(jù)轉(zhuǎn)化為byte[]數(shù)組		os.flush();		//刷新輸出流		os.close();	}catch (FileNotFoundException e) {		e.printStackTrace();	} catch (IOException e) {		e.printStackTrace();	}}5.上面是對于文本類型文件的讀取與寫入,但是圖片、聲音、影響文件不會把讀取的數(shù)據(jù)轉(zhuǎn)為String類型數(shù)據(jù),而是直接用byte數(shù)組來存儲數(shù)據(jù),然后全寫入另一個文件,相當于復(fù)制粘貼一個文件,這里需要注意的是讀取與寫入的文件類型要一致,即文件的后綴名需要一致。代碼示例演示復(fù)制粘貼并打開聲音文件:
public static void get(){	try{		InputStream is=new FileInputStream("E:/音樂/金娜英 - 說出心聲.mp3");		OutputStream os=new FileInputStream("E:/Youku Files/mymusic.mp3");		byte music[]=new byte[1024*10];		int len=0;		while((len=is.read(music))!=-1){			os.write(music);		}		is.close();		os.close();	}catch (FileNotFoundException e) {		e.printStackTrace();	} catch (IOException e) {		e.printStackTrace();	}	String cmd="cmd /c/"文件路徑.mp3/"";	Runtime run=Runtime.getRuntime();	try{		run.exec(cmd);	}catch (IOException e) {		e.printStackTrace();	}	//打開文件}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 抚州市| 渝中区| 塘沽区| 临邑县| 六枝特区| 滨州市| 永仁县| 南木林县| 舟曲县| 子洲县| 三台县| 齐河县| 长沙市| 十堰市| 高密市| 宜兰市| 来宾市| 新巴尔虎左旗| 福鼎市| 汉沽区| 衡山县| 柞水县| 焉耆| 湖州市| 镇安县| 阿拉善右旗| 阿克苏市| 松滋市| 荥经县| 稻城县| 社旗县| 涪陵区| 南漳县| 新龙县| 荥经县| 惠安县| 大厂| 绵竹市| 望都县| 宜兰市| 上蔡县|