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();
        //这里需要关闭流,不然就会报错,提示要关闭流
    }
}

原文地址:https://www.cnblogs.com/Haidrens/p/10159475.html

时间: 2024-11-10 05:59:34

10_IO_第10天(字符流、字符缓冲流)的相关文章

JAVA输入/输出流(字节流、字符流、缓冲流)

JAVA输入/输出流 前期知识准备 1.基本java语法 基本原理: 程序在运行期间,可能需要从外部的存储媒介或其他程序中读入所需要的数据,这就需要使用输入流对象.输入流的指向称作它的源,程序从指向源的输入流中读取源中数据.另一方面,程序在处理数据后,可能需要将处理结果写入到永久的存储媒介中或传给其他应用程序,这就需要使用输出流对象.输出流的指向称作它的目的地,程序通过向输出流中写入数据把数据传送到目的地. (本博文只给出文件字节流,文件字符流,缓冲流实例) 文件字节流: FileInputSt

处理流之缓冲流 buffered

处理流是包在别的流上面的流,相当于包在别的管道上面的管道.(节点流是直接怼在数据源上的流) 缓冲流:缓冲流相当于自带小桶,对读写数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法.BufferedReader提供了一个一次读取一行的方法 readLine(),BufferedWriter提供了写入一个行分隔符的方法 newLine() BufferedReader(Reader in) (Reader in ,int size) BufferedWriter(Writer out)

java的 IO流之缓冲流(转载)

java缓冲流本身不具IO功能,只是在别的流上加上缓冲提高效率,像是为别的流装上一种包装.当对文件或其他目标频繁读写或操作效率低,效能差.这时使用缓冲流能够更高效的读写信息.因为缓冲流先将数据缓存起来,然后一起写入或读取出来.所以说,缓冲流还是很重要的,在IO操作时记得加上缓冲流提升性能. 缓冲流分为字节和字符缓冲流 字节缓冲流为: BufferedInputStream-字节输入缓冲流 BufferedOutputStream-字节输出缓冲流 字符缓冲流为: BufferedReader-字符

【java的 IO流之缓冲流】

java缓冲流本身不具IO功能,只是在别的流上加上缓冲提高效率,像是为别的流装上一种包装.当对文件或其他目标频繁读写或操作效率低,效能差.这时使用缓冲流能够更高效的读写信息.因为缓冲流先将数据缓存起来,然后一起写入或读取出来.所以说,缓冲流还是很重要的,在IO操作时记得加上缓冲流提升性能. 缓冲流分为字节和字符缓冲流 字节缓冲流为: BufferedInputStream-字节输入缓冲流 BufferedOutputStream-字节输出缓冲流 字符缓冲流为: BufferedReader-字符

IO流之缓冲流

缓冲流 Java中提高了一套缓冲流,它的存在,可提高IO流的读写速度 缓冲流,根据流的分类字节缓冲流与字符缓冲流. 字节缓冲流 字节缓冲流根据流的方向,共有2个 l  写入数据到流中,字节缓冲输出流 BufferedOutputStream l  读取流中的数据,字节缓冲输入流 BufferedInputStream 它们的内部都包含了一个缓冲区,通过缓冲区读写,就可以提高了IO流的读写速度 字节缓冲输出流BufferedOutputStream 通过字节缓冲流,进行文件的读写操作 写数据到文件

IO流----转换流、缓冲流

打开一个文本文件,另存为: Ansi就是系统默认编码(就是gbk) 建一个编码是utf-8的txt文件, 例: import java.io.FileWriter; import java.io.IOException; public class Demo01 { public static void main(String[] args) throws IOException { //确定目的地 FileWriter fw=new FileWriter("E:\\zyx\\java\\utf-

Java转换流、缓冲流、流的操作规律和properties类整理

转换流 1.1                OutputStreamWriter类 OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节.它的作用的就是,将字符串按照指定的编码表转成字节,在使用字节流将这些字节写出去. package com.oracle.reader; public class Demo04 { public static void main(String[] args) throws IOException

转换流和缓冲流

1. 转换流(把字符流转成了字节流所以是桥梁):OutputStreamWriter;是字符输出流;先用FileOutputStream确定要写入的地址;然后再用转换流抓取要写入的地址和码表 2.InputStreamReader:是FileReader的父类并且是它的转换流 3.InputStreamReader和OutputStreamWriter的转换原理(字节流+码表) 4.字符转成字节后再写入:明确目的地:FileOutputStream fos=new FileOutputStrea

Java IO 过滤流 字节缓冲流 BufferedInput/OutputStream

Java IO 过滤流 字节缓冲流 BufferedInput/OutputStream @author ixenos 概念 BufferedInput/OutputStream是实现缓存的过滤流,他们分别是FilterInput/OutputStream的子类. BufferedInputStream工作流程 stream-->buf--read buf-->I 1.当一个BufferedInputStream被创建时,一个内部的缓冲区 byte[] buf = new byte[size]

IO流(三):字符流及其缓冲流

一.字符流概述 (一).本质 1.字节流操作中文数据不是特别的方便,所以就出现了转换流. 转换流的作用就是把字节流转换字符流来使用. 2.转换流其实是一个字符流. 字符流 = 字节流 + 编码表 (二)编码表 1.编码表简介: ASCII ISO-8859-1 GB2312 GBK GB18030 UTF-8 (三)String中的编码 1.内容: 1)编码 String --> byte[] byte[] getBytes(String charsetName):使用指定的字符集合把字符串编码