• I/O(输入/输出)---字节流与字符流


    流:

      分为输入流和输出流,输入/输出是相对计算机内存来说的,数据输入到内存是输入流,数据从内存中输出是输出流。

      流对象构造的时候会和数据源联系起来。

      数据源分为:源数据源和目标数据源。输入流联系的是源数据源,输出流联系的是目标数据源。

      按流向划分:

      输入流:InputStream和Read

      输出流:OutputStream和Write

    输入流和输出流又分为字节流和字符流:

      按处理数据单元划分:

      字节流:InputStream和OutputStream。字节流是8位的通用字节流,基本单位是字节。

            ---子类FileInputStream和FileOutputStream。文件输入/输出流。

      字符流:Read和Write。字符流是16位的Unicode字符流,基本单位是Unicode字符。适合处理字符串和文本。

            ---子类FileReader和FileWrite。文件输入/输出流。

      缓冲流:BufferedReader和BufferedWrite.也是Read和Write的子类。

        缓冲流主要作用:提高输入输出的效率。

        原理;
           1,使用流的read方法从源中读取一批数据存储到缓冲区的数组中。
           2,通过计数器记录住存储的元素个数。
           3,通过数组的角标来获取数组中的元素(从缓冲区中取数据).
           4,指针会不断的自增,当增到数组长度,会归0.计数器会自减,当减到0时,就在从源拿一批数据进缓冲区。

    package cn.itcast.p2.io.filewriter;
    
    import java.io.FileWriter;
    import java.io.IOException;
    

    //字符输出流
    //需求:将一些文字存储到硬盘一个文件中。 public class FileWriterDemo { //平台独立的换行符。 private static final String LINE_SEPARATOR = System.getProperty("line.separator"); public static void main(String[] args) throws IOException { //创建一个可以往文件中写入字符数据的字符输出流对象。 /* * 既然是往一个文件中写入文字数据,那么在创建对象时,就必须明确该文件(用于存储数据的目的地)。 * * 如果文件不存在,则会自动创建。 * 如果文件存在,则会被覆盖。 * * 如果构造函数中加入true,可以实现对文件进行续写! */ FileWriter fw = new FileWriter("demo.txt",true); /* * 调用Writer对象中的write(string)方法,写入数据。 * * 其实数据写入到临时存储缓冲区中。 * */ fw.write("abcde"+LINE_SEPARATOR+"hahaha"); // fw.write("xixi"); /* * 进行刷新,将数据直接写到目的地中。 */ // fw.flush(); /* * 关闭流,关闭资源。在关闭前会先调用flush刷新缓冲中的数据到目的地。 */ fw.close(); // fw.write("haha");// java.io.IOException: Stream closed } }

     未完,待补充。。。

  • 相关阅读:
    java将string转化为int Yannis
    vm虚拟机启动报The VMware Authorization Service is not running错误 Yannis
    [org.hibernate.util.JDBCExceptionReporter] Cannot load JDBC driver class 'net. Yannis
    前台页面分页对总页数的判断 Yannis
    事务及其特性 Yannis
    iReport报表的简单函数及部分操作 Yannis
    spring aop与事务配置 Yannis
    大数据的验证和插入数据库 Yannis
    唔哇哈哈,拉霸机
    bindebug放到别的目录后不能看?编译器参数设置一下
  • 原文地址:https://www.cnblogs.com/fifiyong/p/6006014.html
Copyright © 2020-2023  润新知