1、简述Java中流的分类
Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示:InputStream,OutputStream,Reader,Writer。Java中其他多种多样变化的流均是由它们派生出来的。 2、文本文件的读写过程中需要处理的异常有哪些?
IOException 当发生某种 I/O 异常时,抛出此异常。
FileNotFoundException 当试图打开指定路径名表示的文件失败时,抛出此异常。
InterruptedIOException I/O 操作已中断信号,抛出此异常。
NotActiveException 当序列化和反序列化不活动时,抛出此异常。
UTFDataFormatException 在数据输入流中或由实现该数据输入接口的任何类中以 UTF-8 修改版格式读取错误字符串时,抛出此异常。
ObjectStreamException 特定于 Object Stream 类的所有异常的超类。
3使用BuffReader 和 BufferedWriter复制文件 查看文件内容和文件大小是否一致
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; public class BufferedCopyFile { public static void main(String[] args) { FileReader fr; FileWriter fw; BufferedReader br = null; BufferedWriter bw = null; String str; try { fr = new FileReader("D:\\Files\\homework\\myPrime.txt"); fw = new FileWriter("D:\\Files\\homework\\我的青春谁做主.txt"); br = new BufferedReader(fr); bw = new BufferedWriter(fw); while ((str = br.readLine()) != null) { bw.write(str); bw.newLine(); } } catch (Exception e) { } finally { try { bw.flush(); br.close(); bw.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("done!"); } } }4.编写一个Java程序读取Windows目录下的win.ini文件并输出内容
import java.io.BufferedReader; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class readToString { public static void main(String[] args) { FileInputStream fis = null; DataInputStream dis = null; try { //创建输出流对象 fis = new FileInputStream("C:\\Windows\\win.ini"); dis = new DataInputStream(fis); //创建输入流对象 int temp; //读取文件并写入文件0 while ( (temp = dis.read()) != -1) { System.out.print((char)temp); } }catch (FileNotFoundException e) { System.out.println("无此文件"); }catch (IOException ioe) { ioe.printStackTrace(); }finally{ try { if(fis!=null) fis.close(); } catch (IOException e) { e.printStackTrace(); } } } }