第八章 源 02_FileInputStream_FileOutputStream
第八章 流 02_FileInputStream_FileOutputStream
鱼欲遇雨:每日都学习一点,持之以恒,天道酬勤!不能用电脑时,提前补上!(2012.9.1)
节点流类型
类型 | 字符流 | 字节流 |
File(文件) | FileReader FileWriter |
FileInputStream FileOutputStream |
Memory Array | CharArrayReader 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("文件已复制"); } }