Java:缓冲流
Java:字节输入流、字节输出流
Java:字符输入流、字符输出流
Java: IO流资源的释放方式
Java:输入输出转换流

与字节流相比,字符流更适合读取文本数据。

文件字符输入流:Reader

基本用法

构造器

方法

读取单个字符

public class FileReaderDemo01 {public static void main(String[] args) throws Exception {// 目标:每次读取一个字符。// 1、创建一个字符输入流管道与源文件接通Reader fr = new FileReader("file-io-app\\src\\data06.txt");// 2、读取一个字符返回,没有可读的字符了返回-1
//        int code = fr.read();
//        System.out.print((char)code);
//
//        int code1 = fr.read();
//        System.out.print((char)code1);// 3、使用循环读取字符int code;while ((code = fr.read()) != -1){System.out.print((char) code);}}
}

读取字符数组

import java.io.FileReader;
import java.io.Reader;public class FileReaderDemo02 {public static void main(String[] args) throws Exception {// 1、创建一个文件字符输入流与源文件接通Reader fr = new FileReader("file-io-app/src/data07.txt");// 2、用循环,每次读取一个字符数组的数据。  1024 + 1024 + 8char[] buffer = new char[1024]; // 1K字符int len;while ((len = fr.read(buffer)) != -1) {String rs = new String(buffer, 0, len);System.out.print(rs);}}
}

字符输出流:FileWriter

构造器、方法

构造器

方法

流刷新与关闭

代码示例

import java.io.File;
import java.io.FileWriter;
import java.io.Writer;public class FileWriterDemo03 {public static void main(String[] args) throws Exception {// 1、创建一个字符输出流管道与目标文件接通// Writer fw = new FileWriter("file-io-app/src/out08.txt"); // 覆盖管道,每次启动都会清空文件之前的数据Writer fw = new FileWriter("file-io-app/src/out08.txt", true); // 覆盖管道,每次启动都会清空文件之前的数据//      a.public void write(int c):写一个字符出去fw.write(98);fw.write('a');fw.write('徐'); // 不会出问题了fw.write("\r\n"); // 换行//       b.public void write(String c)写一个字符串出去fw.write("abc我是中国人");fw.write("\r\n"); // 换行//       c.public void write(char[] buffer):写一个字符数组出去char[] chars = "abc我是中国人".toCharArray();fw.write(chars);fw.write("\r\n"); // 换行//       d.public void write(String c ,int pos ,int len):写字符串的一部分出去fw.write("abc我是中国人", 0, 5);fw.write("\r\n"); // 换行//       e.public void write(char[] buffer ,int pos ,int len):写字符数组的一部分出去fw.write(chars, 3, 5);fw.write("\r\n"); // 换行// fw.flush();// 刷新后流可以继续使用fw.close(); // 关闭包含刷线,关闭后流不能使用}
}

字节流、字符流的适用场景

1.字节流适合做一切文件数据的拷贝(音视频,文本);
2.字节流不适合读取中文内容输出;
3.字符流适合做文本文件的操作)读,写);

Java:字节输入流、字节输出流
Java:字符输入流、字符输出流
Java: IO流资源的释放方式

Java:字符输入流、字符输出流相关推荐

  1. java io字符输出流_JAVA IO 字符输入流与输出流总结说明

    目录 OutputStreamWriter 用于向本地文件中写入数据 InputStreamReader 用于读取本地文件中的字节数据 FileReader 用于读取本地文件中的字节数据 FileWr ...

  2. Java字节流和字符流,是时候总结一下IO流了

    Java字节流和字符流,是时候总结一下IO流了 从接收输入值说起 字节流读取 字符流读取 Scanner 读取 什么是 IO 流 字节流和字符流 字节流 字节输入流 字节输出流 缓冲流的原理 字符流 ...

  3. 用javascript实现一门编程语言-字符输入流

    目录 用javascript实现一门编程语言-前言 用javascript实现一门编程语言-语言构想 用javascript实现一门编程语言-写一个解析器 用javascript实现一门编程语言-字符 ...

  4. Java标准流输入输出流In(Out)putStream,ReaderWriter等总结(1)

    一,标准输出流System.out System.out向标准输出设备输出数据,方法有很多: print()和println()的主要区别是后者输出完了主动转行前者不转行,printf()主要是格式化 ...

  5. java中的输入输出流概念_java输入输出--I/O流的概念和划分

    理解数据流 数据流(Stream)是一组有顺序的,有起点的,有终点的字节集合,是对输入和输出的总称和抽象. 一般地,数据流分为 输入流(InputStream)和输出流(OutputStream).输 ...

  6. 1.8 Java字节流和字符流的区别,如何区分输入流和输出流?

    Java字节流和字符流的区别 首先我们先大概总结一下前面学习的内容,可分为以下几点: 以 Stream 结尾都是字节流,Reader 和 Writer 结尾都是字符流. InputStream 是所有 ...

  7. 【Java网络编程与IO流】Java中IO流分为几种?字符流、字节流、缓冲流、输入流、输出流、节点流、处理流

    Java网络编程与IO流目录: [Java网络编程与IO流]Java中IO流分为几种?字符流.字节流.缓冲流.输入流.输出流.节点流.处理流 [Java网络编程与IO流]计算机网络常见面试题高频核心考 ...

  8. Java IO流 详解(字节流、字符流、输入流、输出流、刷新)

    一.IO流概述 I:Input输入  从其他存储设备[读]数据到内存中  输入过程         O:OutPut输出  从内存中[写]数据到其他存储设备  输出过程 二.IO流分类 1.根据数据的 ...

  9. java字符的输入流_Java:字节流和字符流(输入流和输出流)

    InputStream是抽象基类,所以它不可以创建对象,但它可以用来"接口化编程",因为大部分子类的函数基类都有定义,所以利用基类来调用函数. FileInputStream是用来 ...

最新文章

  1. jQuery API之each、children、index的使用
  2. 当医疗健康加上大数据,会碰撞出什么火花?
  3. 后氧传感器损坏的危害_几种快速判断氧传感器故障的简便方法
  4. java日历类add方法_Java日历computeTime()方法及示例
  5. 城市交通路网(信息学奥赛一本通-T1261)
  6. 高可用Hadoop平台-Oozie工作流之Hadoop调度
  7. cecos linux启动盘,CecOS 1.0 社区版企业云操作系统即将发布!
  8. Qt GUI编程 基础入门
  9. 清除dnf垃圾进程 .bat文件
  10. Microservices 基础理论
  11. 计算机系统要素 - 布尔逻辑/布尔运算构建ALU
  12. C语言输入学生成绩算平均值
  13. 机器人II_ny_371
  14. 什么是基本表?什么是视图?两者的联系和区别是什么?视图有哪些优点?
  15. 【自控原理】第四章 根轨迹法
  16. 将树莓派连接到显示器
  17. MeeGo系统和SailFish系统_我是亲民_新浪博客
  18. Linux软链接的创建 删除 修改
  19. Fourth6: Comprehensive project network upgrade | Cloud computing
  20. Linux下安装python集成开发环境——Ulipad

热门文章

  1. 【补坑】Java自动装箱的原因
  2. Angular ngIf 指令运行时执行原理
  3. Flutter绘制虚线的方法
  4. 全球手机验证码发放+短视频去水印等组合微信小程序源码
  5. 起、承、转、合全赋能:华为应用生态为开发者带来了什么?
  6. mysql 1054 修改密码_MySQL 5.7.16 修改密码提示 ERROR 1054 (42S22): U
  7. 云供电的GPS芯片,大大降低智能手机功耗
  8. 解决安卓浏览器时间格式显示跟苹果手机不同的问题。获取时间格式
  9. 博客引入漂亮字体二三事
  10. 企业纷纷盯上“成套智慧家电”,这会是一片新蓝海吗?