IO总结(二)

来源:互联网 发布:玻璃优化软件手机版 编辑:程序博客网 时间:2024/05/22 14:54

字节流

 

FileInputStream和FileOutputStream分别继承自InputStream和OutputStream用于向文件中输入和输出字节。

FileInputStream和FileOutputStream的常用构造方法:

FileInputStream(String name) throws FileNotFoundException

FileInputStream(File file)

FileOutputStream(String name)

FileOutputStream(File file)

FileOutputStream(File file,boolean append)

1)FileInputStream和FileOutputStream类支持其父类InputStream和OutputStream所提供的数据读写方法。

2)注意:

  在实例化FileInputStream和FileOutputStream流时要用try-catch语句以处理其可能抛出的FileNotFoundException。

  在读写数据时也要try-catch语句以处理可能抛出的IOException。

  FileNotFoundException是IOException的子类。

 例子1:(测试FileInputStream)

import java.io.*;public class TestFileInputStream {public static void main(String[] args){int b = 0;FileInputStream in = null;try {in = new FileInputStream("E:\\Workspaces\\MyEclipse 8.5\\test\\src\\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.print("");System.out.println("共读取了"+num+"个字节");} catch (IOException e) {System.out.println("文件读取错误!");System.exit(-1);}}}


输出结果:

import java.io.*;public class TestFileInputStream {public static void main(String[] args){int b = 0;FileInputStream in = null;try {in = new FileInputStream("E:\\Workspaces\\MyEclipse 8.5\\test\\src\\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.print("");System.out.println("????????"+num+"??×???");} catch (IOException e) {System.out.println("?????????í?ó??");System.exit(-1);}}}共读取了669个字节


例子2:(文件复制)

import java.io.*;public class TestOutputStream {public static void main(String[] args){int b = 0;FileInputStream in = null;FileOutputStream out = null;try{in = new FileInputStream("E:\\Workspaces\\MyEclipse 8.5\\test\\src\\TestOutputStream.java");out = new FileOutputStream("D:\\a.java");while((b = in.read()) != -1){out.write(b);}in.close();out.close();}catch(FileNotFoundException e){e.printStackTrace();}catch(IOException e){e.printStackTrace();}System.out.println("文件已复制!");  }}


输出结果:

文件已复制!

例子3:(测试Reader)

import java.io.*;public class TestReader {public static void main(String[] args){FileReader fr = null;int c = 0;try{fr = new FileReader("E:\\Workspaces\\MyEclipse 8.5\\test\\src\\TestReader.java");int ln = 0;while((c = fr.read()) != -1){System.out.print((char)c);ln ++ ;}fr.close();}catch(FileNotFoundException e){System.out.println("文件找不到!");System.exit(-1);}catch(IOException e){System.out.println("文件读写错误!");System.exit(-1);}}}


输出结果:

import java.io.*;public class TestReader {public static void main(String[] args){FileReader fr = null;int c = 0;try{fr = new FileReader("E:\\Workspaces\\MyEclipse 8.5\\test\\src\\TestReader.java");int ln = 0;while((c = fr.read()) != -1){System.out.print((char)c);ln ++ ;}fr.close();}catch(FileNotFoundException e){System.out.println("文件找不到!");System.exit(-1);}catch(IOException e){System.out.println("文件读写错误!");System.exit(-1);}}}

 

例子4:(测试Writer)

import java.io.*;public class TestWriter {public static void main(String[] args){FileWriter fw = null;try{fw = new FileWriter("D:\\b.dat");for(int c = 0; c < 50000; c++){fw.write(c);}fw.close();}catch(IOException e){e.printStackTrace();System.out.println("文件写入错误!");System.exit(-1);}  }}
原创粉丝点击