第八章 流 02_FileInputStream_FileOutputStream

鱼欲遇雨:每日都学习一点,持之以恒,天道酬勤!不能用电脑时,提前补上!(2012.9.1)

节点流类型

类型字符流字节流
File(文件)FileReader
FileWriter
FileInputStream
FileOutputStream
Memory ArrayCharArrayReader
CharArrayWriter
ByteArrayInputStream
ByteArrayOutputStream
Memory String
StringReader
StringWriter
-----
-----
Pipe(管道)
PipedReader
PipedWriter
PipedInputStream
PipedOutputStream


访问文件


1   FileInputStream 和 FileOutputStream分别继承自 InputStream和OutputStream 用于向文件中输入和输出字节。
2   FileInputStream 和 FileOutputStream的常用构造方法:详细见api文档
FileInputStream(String name) throws FileNotFoundException
FileInputStream(File file) throws FileNotFoundException
FileOutputStream(String name) throws FileNotFoundException
FileOutputStream(File file) throws FileNotFoundException
FileOutputStream(File file, boolean append) throws FileNotFoundException
3   FileInputStream 和 FileOutputStream 类支持其父类 InputStream和 OutputStream 所提供的数据读写方法。
4   注意:
在实例化FileInputStream 和 FileOutputStream流时要用try-catch语句以处理其可能抛FileNotFoundException。
在读写数据时也要用try--catch语句以处理可能抛出的IOException。 FileNotFoundException是IOException的子类


// 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:\\java\\IO\\TestFileInputStream.java");
		}
		catch (FileNotFoundException e)
		{
			System.out.println("文件不存在");
			System.exit(-1);
		}
		
		try
		{
			int num = 0;
			while((b = in.read()) != -1) {
				System.out.print((char)b);
				num ++;
			}
			in.close();
			System.out.println();
			System.out.println("共读取" + num + "个字节");
		}
		catch (IOException e1)
		{
			System.out.println("文件读取错误");
			System.exit(-1);
		}
	}
}

// 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:\\java\\IO\\TestFileOutputStream.java");
			out = new FileOutputStream("c:\\java\\IO\\TFOS.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("文件复制失败");
			System.exit(-1);
		}
		System.out.println("文件已复制");
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值