• 10_IO_第10天(字符流、字符缓冲流)


    ---恢复内容开始---

    今日学习目标

    • 能够说出IO流的分类和功能
    • 能够使用FileWirter写数据到文件
    • 能够明确FileWriter写数据使用两种路径的区别
    • 能够说出FileWriter中关闭和刷新方法的区别
    • 能够使用FileWriter写数据的5个方法
    • 能够使用FileWriter写数据实现换行和追加写
    • 能够使用FileReader读数据
    • 能够使用FileReader读数据一次一个字符数组
    • 能够明确字符缓冲流的作用和基本用法
    • 能够使用缓冲流的特殊功能

    FileWriter和FileReader

    IO流概述和分类

    • IO流用来处理设备之间的数据传输
      • 文件复制(U盘拷贝内))
      • 上传文件(微信图片,QQ空间图片)
      • 下载文件(迅雷)
    • IO流分类
      • 输出流
        • FileWriter
      • 输入流
        • FileReader
    • 图解

     

    FileWriter

    FileWriter写数据

    • 构造方法
      • FileWriter(String fileName)传递一个文件名称  
    • 成员方法
      • void write(Stringstr)往文件中写入一个字符串。  
      • void flush()刷新该流的缓冲,把内存缓冲区中的数据刷新到文件中。  
      • void close()关闭此流,但要先刷新它。  
    • 输出流写数据的步骤:
      • 1.创建输出流对象  
      • 2.调用输出流对象的写数据的方法  
      • 3.释放资源  
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class Demo01FileWriter {
        public static void main(String[] args) throws IOException {
            //创建输出流对象
            FileWriter fw = new FileWriter("d:\a.txt");
            /*
             * 创建输出流对象醉了哪些事情:
             *     A:调用系统资源创建了一个文件
             *  B:创建输出流对象
             *  C:把输出流对象指向文件
             */
            //调用输出流对象的写数据的方法
            //写一个字符串数据
            fw.write("IO流你好");
            //数据没有直接写到文件,其实是写到了内存缓冲区
            fw.flush();
            //释放资源
            //通知系统释放和该文件相关的资源
            fw.close();
            //while(true){}
        }
        
    }

    代码执行之后会在d盘目录下生成一个a.txt 文件,文件内容为IO流你好。

     

    FileWriter写数据路径问题及关闭和刷新方法的区别

    • 路径:
      • 相对路径:相对当前项目而言的,在项目的根目录下(a.txt)
      • 绝对路径:以盘符开始的路径(d:\a.txt)
    • close()和flush()方法的区别:
      • flush():刷新缓冲区。流对象还可以继续使用。
      • close():先刷新缓冲区,然后通知系统释放资源。流对象不可以再被使用了。  
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class Demo02FileWriter {
        public static void main(String[] args) throws IOException {
            //创建输出流对象
            //FileWriter fw = new FileWriter("d:\a.txt");
            FileWriter fw = new FileWriter("a.txt");
            //调用输出流对象的写数据方法,并刷新缓冲区
            fw.write("helloworld");
            fw.flush();
            fw.write("java");
            fw.flush();
            //释放资源
            fw.close();
            
            //Stream closed    流关闭
            //fw.write("javaee");
            //fw.flush();
            //这里需要关闭流,不然就会报错,提示要关闭流
        }
    }

     

  • 相关阅读:
    .Net Core部署到CentOS
    Docker容器中开始.Net Core之路
    自我总结和学习表单提交的几种方式 (二)
    自我总结和学习表单提交的几种方式 (一)
    Asp.Net MVC下自定义错误页和展示错误页的几种方式
    .Net下发送邮件遇到问题及解决方案
    Asp.Net MVC CodeFirst模式数据库迁移步骤
    利用微软认知服务实现语音识别功能
    Asp.Net MVC路由生成URL过程
    针对于多线程概念的理解
  • 原文地址:https://www.cnblogs.com/Haidrens/p/10159475.html
Copyright © 2020-2023  润新知