IO流用来处理设备之间的传送的。 
按照操作数据分为字符流和字节流。 
按照流向分为:输入流输出流。 
IO流有四个基类:InputStream,OutputStream Reader ,Writer 
         
字符流的抽象基类:Reader ,Writer。 
         
        Writer类中的共性方法 
                Writer append(char c) 将指定字符添加到此 writer。 
         
        abstract  void close() 关闭此流,但要先刷新它。  
                 
                abstract  void flush() 刷新该流的缓冲。  
                  
                 void write(char[] cbuf) 写入字符数组。 
                 flush()方法和close()方法的区别: 
                         flush只刷新缓冲,刷新后还可以继承写入数据。 
                         close刷新并关闭缓冲,关闭后不可以用次对象写入数据 
                          
         Reader类中的共性方法: 
                 abstract  void close()  关闭该流并释放与之关联的所有资源。  
                 void mark(int readAheadLimit)  标记流中的当前位置。  
                boolean markSupported()  判断此流是否支持 mark() 操作。  
                读取方法(有重载形式): 
                int read()  
                void reset() 重置该流。 
                 long skip(long n)  跳过字符。 
                 只有close方法:  
    
          
有IO就有异常异常处理的方式: 
        FileWriter fw =null; 
                try { 
                        fw= new FileWriter("demo1.txt"); 
                        fw.write("zff"); 
                } catch (IOException e) { 
                        e.printStackTrace(); 
                }finally{ 
                        try { 
                                if(fw!=null) 
                                        fw.close();//如果有多个流要分别关闭。 
                        } catch (IOException e) { 
                                e.printStackTrace(); 
                        } 
                } 
 
 
Reader和Writer子类: 
用于操作文件的类 
        FileWriter:此类中只有构造函数没有特有方法 
        构造函数         
                new FileWriter(String fileName("Demo.txt")); 
                        默认是当前目录,创建时如果有则会覆盖当前文件 ,没有会新创建一个文件 
                FileWriter(String fileName, boolean append)  
                  根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象 
         
         
         
        FileReader:此类中只有构造函数没有特有方法(继承并复写了父类的方法) 
        构造函数 
                FileReader(String fileName) 在给定从中读取数据的文件名的情况下创建一个新 FileReader 
                 
                 
为提高效率产生的子类:         
        BufferedWriter: 
                特有方法: void newLine() 写入一个行分隔符。 跨平台。 
                                 Windows表示\r\n   Linux表示\n(像这样的方法一般都在缓冲区中) 
        BufferedReader  
                 String readLine() 读取一个文本行。包含该行内容的字符串, 
                         不包含任何行终止符,如果已到达流末尾,则返回 null   
        BufferedReader的子类java.io.LineNumberReader类: 
                int getLineNumber()  获得当前行号。  
                void setLineNumber(int lineNumber)  设置当前行号。 
                String readLine() 读取文本行。 |