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

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

File的節(jié)點(diǎn)流

2019-11-06 06:52:00
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

訪問(wèn)文件

FileInputStream 和 FileOutputStream 分別繼承自 InputStream 和 OutputStream ,用于向文件中輸入和輸出字節(jié)。

FileInputStream 和 FileOutputStream 的常用構(gòu)造方法:

FileInputStream(String name) throws FileNotFoundException

    FileInputStream(File file) throws FileNotFoundException

    FileOutputStream(String name) throws FileNotFoundException

    FileOutputStream(File file, boolean append) throws FileNotFoundException

?FileInputStream 和 FileOutputStream 類支持其父類 InputStream 和 OutputStream 所提供的數(shù)據(jù)讀寫方法。

 ?注意:

i)在實(shí)例化 FileInputStream 和 FileOutputStream 流時(shí)要用try-catch 語(yǔ)句處理其可能拋出的 FileNotFoundException。

ii)在讀寫數(shù)據(jù)時(shí)也要用try-catch 語(yǔ)句以處理可能拋出的 IOException。

iii)FileNotFoundException是IOException的子類

例1:TestFileInputStream.java

import java.io.*;public class TestFileInputStream {	public static void main(String[] args) {		int b = 0;		FileInputStream in = null;		try {			in = new FileInputStream("c://Users//Administrator//desktop//TestFileInputStream.java");		}catch(FileNotFoundException e) {			System.out.PRintln("找不到指定文件");			System.exit(-1);		}				try {			long num = 0;			while((b=in.read())!=-1) {				System.out.print((char)b);				num++;			}			in.close();			System.out.println();			System.out.println("共讀取了 "+num+"個(gè)字節(jié)");		}catch(IOException e1) {			System.out.println("文件讀取錯(cuò)誤");			System.exit(-1);		}	}}

注:通過(guò)此打印出來(lái)的中文全都是問(wèn)號(hào)。因?yàn)橹形囊粋€(gè)字是兩個(gè)字節(jié),現(xiàn)在是一個(gè)字節(jié)一個(gè)字節(jié)的讀,所以無(wú)法轉(zhuǎn)換。改為 FileReader 字符流就可以顯示。 

例2:TestFileOutputStream.java

import java.io.*;public class TestFileOutputStream {	public static void main(String[] args) {		int b = 0;		FileInputStream in = null;		FileOutputStream out = null;		try {			in = new FileInputStream("c://Users//Administrator//desktop//HelloWorld.java");			out = new FileOutputStream("c://Users//Administrator//desktop//HW.java");			while( (b=in.read()) != -1) {				out.write(b);			}			in.close();			out.close();		}catch (FileNotFoundException e) {			System.out.println("找不到指定文件");			System.exit(-1);		}catch(IOException e1) {			System.out.println("文件復(fù)制出錯(cuò)");			System.exit(-1);		}		System.out.println("文件已復(fù)制");			}}

例3:TestFileReader.java

import java.io.*;public class TestFileReader {	public static void main(String[] args) {		FileReader fr = null;		int c = 0;		try {			fr = new FileReader("c://Users//Administrator//desktop//TestFileReader.java");			while((c=fr.read()) != -1) {				System.out.print((char)c);			}			fr.close();		}catch(FileNotFoundException e) {			System.out.println("找不到指定文件");		}catch(IOException e1) {			System.out.println("文件讀取錯(cuò)誤");		}	}}

例4:TestFileWriter.java

import java.io.*;public class TestFileWriter {	public static void main(String[] args) {		FileWriter fw = null;		try {			fw = new FileWriter("c://Users//Administrator//desktop//unicode.bat");//文件不存在會(huì)自動(dòng)創(chuàng)建			for(int c=0; c<=50000; c++) {				fw.write(c);			}			fw.close();		}catch(IOException e) {			e.printStackTrace();			System.out.println("文件寫入錯(cuò)誤");			System.exit(-1);		}	}}

注:char在計(jì)算機(jī)內(nèi)部也是以數(shù)字表示的,直接寫數(shù)字也可以寫。char用兩個(gè)字節(jié)表示,最大可到65535。這里用50000,相當(dāng)于寫入了其中一部分,也就寫入了Unicode全世界大多數(shù)國(guó)家的文字。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 无锡市| 车致| 丽水市| 舟山市| 旬阳县| 西贡区| 磴口县| 仪陇县| 东阳市| 滦南县| 天全县| 青冈县| 锦屏县| 阜新市| 栾川县| 顺平县| 黔西县| 民和| 南陵县| 邵阳市| 独山县| 普宁市| 宁陕县| 梁山县| 长垣县| 临朐县| 祁门县| 尚义县| 潜江市| 鄂尔多斯市| 怀宁县| 象州县| 晴隆县| 卢湾区| 平果县| 共和县| 通州区| 当阳市| 县级市| 霍州市| 拜城县|