Java中的IO流(一)

 一,IO流的分类

  A,按照操作的对象不同可分为字节流与字符流

  B,按照流的方向不同可分为输入(指从外部存储设备拿文件到内存)流也叫读与输出(指从内存把文件写入到外部存储设备)流也叫写

  注:字节流可以操作任何类型的文件,字符流是后来才出现的,主要用来操作字符类的文件;字符流的出现源于编码表的问题,一开始计算机内使用ANSII编码,后来每种语言都有了自己的编码方式即编码表,为了统一这些编码信息国际标准化组织便产生了Unicode编码信息表来把世界各国的语言都包括在内,此编码表采用两个字节即16位来存储每一个字符,java内置的编码表便是Unicode编码;字符流是当读取文件的时候,以字节的形式读取后,查询编码表看具体使用哪种编码方式,查到以后再进行文件的输出,所以字符流是字节流+查编码表的封装形式。

二,流的顶层基类

  所有流的操作无非两种形式:读与写;所以Java便所这两种操作形式抽取出了字节流与字符流的两种顶层的基类

  字节流的顶层基类:InputStreamOutputStream

  字符流的顶层基类:ReadWrite

三,字符流FileWriter

复制代码
1   public static void function_demo1() throws IOException { 2         // 创建字符写入流对象,接收一个要写入的文件路径对象,此文件若不存在则新创建一个文件,若已存在则覆盖的文件3         FileWriter fw = new FileWriter("demo1.txt"); 4         fw.write("abcdefg");// 把内容写入缓冲区5         fw.flush();// 从缓冲区把内容刷入文件中6         fw.close();// 关闭流7     }
复制代码
  注:以上代码中fw.flush()是把内容从缓冲区刷入到文件中去,但是fw.close()方法是先把内容从缓冲区刷入到文件中去即先调用flush方法,所以fw.flush()可以不用
  FileWrite在写时的换行与续写
复制代码
 1      // 获取系统换行的符号 2     private static final String LINE_SEPARATOR = System.getProperty("line.separator");  3     public static void function_demo2() throws IOException {  4         FileWriter writer = new FileWriter("demo.txt", true);// 创建写入流对象  5         // 把内容写入到缓冲区 6         writer.write("abcdef绵" + LINE_SEPARATOR + "中国人啊吼叫职了");  7         // 把缓冲区里的内容刷入到文件系统中  8         // writer.flush();  9         //
                        
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信