zoukankan      html  css  js  c++  java
  • Java中IO流中所涉及到的各类方法介绍

     1 IO流之字节流
     2     (1)IO用于在设备间进行数据传输的操作    
     3     (2)分类:
     4         A:流向
     5             输入流    读取数据
     6             输出流    写出数据
     7         B:数据类型
     8             字节流    
     9                     字节输入流
    10                     字节输出流
    11             字符流
    12                     字符输入流
    13                     字符输出流
    14         注意:
    15             a:如果没有明确说明按照什么分,默认按照数据类型分。
    16             b:除非文件用windows自带的记事本打开我们能够读懂,才采用字符流,否则建议使用字节流。
    17     (3)FileOutputStream写出数据
    18         A:操作步骤
    19             a:创建字节输出流对象
    20             b:调用write()方法
    21             c:释放资源
    22             
    23         B:代码体现:
    24             FileOutputStream fos = new FileOutputStream("fos.txt");
    25             
    26             fos.write("hello".getBytes());
    27             
    28             fos.close();
    29             
    30         C:要注意的问题?
    31             a:创建字节输出流对象时,
    32             1.直接调用系统的功能区创建文件2.创建fileoutputStream对象3.将该对象指向这个文件
    33             
    34             b:为什么要close()
    35             首先是让流对象变成垃圾,这样就可以被垃圾回收器回收了,其次是通知系统区释放与该文件相关的资源
    36             c:如何实现数据的换行
    37             由于换行符也是可以读取的,因此一般是自动换行,
    38             d:如何实现数据的追加写入
    39             使用特殊的构造方法,将boolean append的参数写成true即可。
    40     (4)FileInputStream读取数据
    41         A:操作步骤
    42             a:创建字节输入流对象
    43             b:调用read()方法
    44             c:释放资源
    45             
    46         B:代码体现:
    47             FileInputStream fis = new FileInputStream("fos.txt");
    48             
    49             //方式1
    50             int by = 0;
    51             while((by = fis.read () ) != -1) {
    52                 System.out.print((char) by);
    53             }
    54             
    55             //方式2
    56             byte[] bys = new byte [1024];
    57             int len = 0;
    58             while((len = fis.read(bys)) != -1) {
    59                 System.out.print(new String(bys,0,len)); //注意此处在读取数据时打印的数据一定是最后一次读取
    60                                     //到的数组的实际长度,每一次读取数据都是下一次的数组覆
    61                                     //盖上一次的数组中对应位置的元素值
    62             }
    63             
    64             fis.close();
    65 
    66 
    67 
    68 IO流之字节流
    69             字符输入流
    70                 基类:abstract Reader
    71                     int read():一次读取一个字符    --->与上面的字节流操作一致
    72                     int read(char[] chs):一次读取一个字符数组    --->与上面的字节流操作一致
    73 
    74             |--InputStreamReader 75 |
                                --FileReader这个是简化方式一般使用该类
                    
                                76 |--BufferedReader

                                77 String readLine():一次读取一个字符串

       78 |--字符输出流 基类:Writer

    80               void write(int ch):一次写一个字符

    81               void write(char[] chs,int index,int len):一次写一个字符数组的一部分

    82 83                       |--OutputStreamWriter

    84                               |--FileWriter 由于该类名字简化一般直接使用该类

    85                         |--BufferedWriter

    86                          void newLine():写一个换行符

    87                          void write(String line):一次写一个字符串
  • 相关阅读:
    白话LINQ系列2以代码演进方式学习LINQ必备条件
    《Entity Framework 6 Recipes》中文翻译系列 (9) 第二章 实体数据建模基础之继承关系映射TPH
    Linq To Sqlite 一一二二
    《Entity Framework 6 Recipes》中文翻译系列 (10) 第二章 实体数据建模基础之两实体间Isa和Hasa关系建模、嵌入值映射
    《Entity Framework 6 Recipes》中文翻译系列 (14) 第三章 查询之查询中设置默认值和存储过程返回多结果集
    《Entity Framework 6 Recipes》中文翻译系列 (13) 第三章 查询之使用Entity SQL
    白话LINQ系列1什么是LINQ?
    《Entity Framework 6 Recipes》翻译系列 (3) 第二章 实体数据建模基础之创建一个简单的模型
    JS 实现trim()
    mysql表切换引擎的几种方法
  • 原文地址:https://www.cnblogs.com/fuck1/p/5342793.html
Copyright © 2011-2022 走看看