字符流 java.io.Reader: 字符输入流,是字符输入流的最顶层父类,定义了一些共性方法,是一个抽象类; 共性方法: int read():读取单个字符; int read(char[] cbuf...(); java.io.writer: 字符输出流,是所有字符输出流的最顶层,是抽象类; 共性方法: abstract void close():关闭此流,但要先刷新它; abstract void...继承Reader 字符输入流,读取文本文件; 将字节流转为字符流 方法同io流其他类基本相同; 构造方法: InputStreamReader(InputStream in(FileInputStream...字符缓冲流 字符缓冲输入流BufferedReader 字符缓冲输出流 BufferedWriter 字符缓冲流 字符缓冲输入流 BufferedReader 方法: int read():读取单个字符...(io流—字节输入流、字节输出流)
①创建输入流: a.jpg是计算机里已经存在的文件,所以创建输入流将其读取到内存。 ②创建输出流: 我们需要将a.jpg复制下来,那么文件名我们可以自己定义名字,在创建输出流时,直接创建该文件。...今天再学习两种字符流: 二、字符流 1.字符输入流 Reader是一个抽象类,是用于读取字符流的所有类的最上层父类,其中FileReader类是其常用子类。 ?...a.txt中的内容为:刘小爱 ①使用字节输入流读取文件 “刘小爱”读取的结果是9个字节,也就是说在字节流中,一个中文是3个字节。 ②使用字符输入流读取文件 “刘小爱”读取的结果是3个字符。...以上是一个字符一个字符地输入,同样的道理,也可以一个字符数组一个字符数组地输入。 2.利用char数组输入 ?...3.字符输出流 Writer也是一个抽象类,是用于写出字符流的所有类的最上层父类,其中FileWriter 类是其常用子类。 ?
字节字符转换流 认识文本和文本文件 123 java的文本(char)是16位无符号整数,是字符的unicode编码(双字节编码)文件是byte byte byte ...的数据序列文本文件是文本(char...)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化为byte的存储结果 字符流(Reader Writer)—->操作的是文本文本文件 123456 字符的处理,一次处理一个字符字符的底层任然是基本的字节序列字符流的基本实现...InputStreamReader 完成byte流解析为char流,按照编码解析 OutputStreamWriter 提供char流到byte流,按照编码处理 FileReader.../FileWriter 字符流的过滤器 123456789101112131415161718192021 //BufferedReader ---->readLine 一次读一行 //BufferedWriter...e.printStackTrace(); }finally { fis.close(); osw.close(); } } 字节字符读写流
File 类的介绍:https://cloud.tencent.com/developer/article/1012532 Java IO 流的分类介绍:https://cloud.tencent.com.../developer/article/1012539 Java IO 字节输入输出流:https://cloud.tencent.com/developer/article/1012565 那么这篇博客我们讲的是字节输入输出流...①、为什么要使用字符流? 因为使用字节流操作汉字或特殊符号语言的时候容易乱码,因为汉字不止一个字节,为了解决这个问题,建议使用字符流。 ②、什么情况下使用字符流? ...就是文本文件,可以使用字符流。...File("io"+File.separator+"a.txt"); File descFile = new File("io"+File.separator+"b.txt"); //2、创建字符输入输出流对象
Reader 用于读取字符流的抽象类。...InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符 FileReader 用来读取字符文件的便捷类 BufferedReader 从字符输入流中读取文本...Writer 写入字符流的抽象类 OutputStreamWriter 是字符流通向字节流的桥梁:使用指定的 charset 将要向其写入的字符编码为字节 FileWriter 用来写入字符文件的便捷类...BufferedWriter 将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入 1.字符流复制数据字节 public static void main(String[] args...5.把字符数组转化为字符串 6.通过字符输出流把字符串输出到ss.txt */ public class StringArray { public static void
本文主要内容安排如下: 文件对象 流简介 字节流 字符流 文件对象 文件路径 Java 标准库 java.io 提供了 File 对象用于操作文件和目录,也就是说我们的文件和目录都是可以通过 File...当我们需要进行数据交互的时候,比如在服务器和客户端之间进行数据交互时,我们此时就可以使用 Java 中的流来实现。Java 中,数据的输入和输出都是以流的形式来进行的。...根据数据流方向的不同,我们可以将其分为:输入流、输出流。而根据处理的数据单位不同,可分为:字节流、字符流。...两者的关系可以描述为下表: 字节流 字符流 输入流 InputStream Reader 输出流 OutputStream Writer 而对于字节流和字符流的选用原则,我们建议遵循如下规则:如果数据能够通过...而如果我们也不知道应该使用何种类型的流,则默认使用字节流。 下图描述了字节流和字符流的类层次图,注意:无论是字节流还是字符流,其子类名都是以其父类名作为子类名的后缀的。
当使用字节流读取文本文件时,遇到中文字符可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储。所以 Java 提供字符流类,以字符为单位读写数据。...1.1 字符输入流 java.io.Reader抽象类是表示用于读取字符流的所有类的超类,可以读取字符信息到内存中。...1.1.1 常用方法 方法名 说明 void close() 关闭此流并释放与此流相关联的任何系统资源 int read() 从输入流读取一个字符 int read(char[] cbuf) 从输入流中读取一些字符...,并将它们存储到字符数组 cbuf 中 1.1.2 FileReader 类 java.io.FileReader类是读取字符文件的便利类。...java.io.Writer抽象类是表示用于写出字符流的所有类的超类,将指定的字符信息写出到目的地。
上篇文章Java 字节流操作介绍了java中基本的字节流操作,但是我们常常对于字符操作,如果使用字节流来实现输入输出就显得麻烦,我们可以使用字符流来实现对我们看得见的字符char进行操作,...主要内容如下: 基本流(Reader/Writer) 转换流(InputStreamReader/OutputStreamEWriter) 文件字符流(FileReader/FileWriter) 字符数组流...字节流的基本流是InputStream/OutputStream,这里的字符流的基本流是Reader/Writer,他们都是抽象类,想要实现更加复杂的操作就必须要子类来扩充。...二、转换流 InputStreamReader和OutputStreamWriter这两个类型流,在整个字符流中是十分重要的流,他们实现了和字节流的转换。...五、缓冲字符流 字符的缓冲流和字节的缓冲流是类似的。都是装饰流。
参考链接: Java中的字符流与字节流 Character Stream对比Byte Stream 目录 先序 1、Bits 工具类 2、输入流 InputStream 2.1、字节数组输入流... 2.2.3、回推输入流 PushbackInputStream 2.3、文件输入流 FileInputStream 3、输出流 OutputStream 3.1、字节数组输出流 ByteArrayOutputStream...1、Bits 工具类 Bits 是一个工具类,一般是供 java io 包下的类使用的,用于处理字节,因为输入输出流分为 字节流 和 字符流。...2、static char getChar(byte[] b, int off):从 off 开始,获取字节数组 b 的一个字符,因为 java 中一个 char 代表2个字节,因为会将 b 数组的 off...和 off + 1 位置的2个字节拼成一个字符。
概述 关闭流时,先打开后关闭,后打开先关闭 流:指一连串流动的字符,以先进先出的方式发送信息的通道 File类的应用 什么是文件?...InputStream 字节输出流OutputStream FileInputStream 输入流 输入流:只能读取数据,不能写入数据 从文件系统中的某一个文件中获取输入字节 用于读取诸如图像数据之类的原始字节流...缓冲输入流BufferedInputStream 缓冲输出流BufferedOutputStream 字符流 字符输入流Reader 字符输出流Writer 字节字符转环流 InputStreamReader...(fos);//字符输出流 BufferedWriter bw=new BufferedWriter(osw);//缓冲输出流 int n=0; char[] cbuf=new char[10]; while...= -1){ bw.write(cbuf,0,n); bw.flush; } 对象序列化与反序列化 Java对象的序列化(Serialization)和反序列化详解 Java的对象序列化就是把对象写入到输出流中
参考链接: Java基本输入和输出 在Android开发中,文件操作还是比较频繁的,本文主要记录下文件的加载,写入等相关操作的使用。 ...流的分类 在Java程序中操作文件,都是以流的形式来操作 首先按照流向可以分为输入流与输出流两种,这里的输入输出是站在内存的角度而言的,流向内存的为输入流,流出内存的为输出流按照传输的单位可以分为字节流与字符流...最后再根据将字节数组转换成需要的类型,最后也需要调用close释放资源 缓冲流 缓冲流相对于上述的字节流字符流并不是一个层面的东西,它并不具备直接操作文件的能力,而是要基于上述的字节流和字符流为基础... 字符流主要包括FileWriter和FileReader,字符缓冲流BufferedWriter,BufferedReader,用法与上述的字节流基本一致,只不过调用read之后获取到的是字符类型,...stringBuilder.toString()); fileReader.close(); bufferedReader.close(); 以上是对于常用的输入输出流使用的总结
通过数据流、序列化和文件系统提供系统输入和输出。 Java把这些不同来源和目标的数据都统一抽象为数据流。...在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流。...在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流….本文的目的是为大家做一个简要的介绍。 ...这时候你就可以想象数据好像在这其中“流”动一样,如下图: Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个):InputStream...八.字符流的读取和写入 java.io.Reader 和 java.io.InputStream 组成了 Java 输入类。
Java 字符流 字节流 1....就拿我们生活中的自来水厂举例,我们每个人家里喝的水都是自来水厂来的,自来水厂又是通过水源地来的 水是通过水管来的 那么这个水就可以理解为io流 Java中的IO操作主要是指使用java.io包下的内容进行输入输出操作...使用数组读取减少了io操作数,大大提高了读写的效率,建议开发中使用 字符流 3.字符输入流 java.io.Reader 抽象类是表示用于读取字符流的所有类的超类,可以读取字符信息到内存中。...它定义了字符输入 流的基本共性功能方法。 public void close() :关闭此流并释放与此流相关联的任何系统资源。 public int read() : 从输入流读取一个字符。...4.字符输出流 java.io.Writer 抽象类是表示用于写出字符流的所有类的超类,将指定的字符信息写出到目的地。它定义了字节 输出流的基本共性功能方法。
思路: 先创建一个Scanner对象,调用Scanner对象的next()方法获取控制台输入的字符串,返回的是一个String类型,因为没有nextChar()方法,所以调用String的charAt(...0)方法获取第一个字符,这样一来,我们就输入了一个字符串。...输入一个字符的方法:import java.util.Scanner; Scanner scanner = new Scanner(System.in); char c = scanner.next()...import java.util.Scanner; Scanner scanner = new Scanner(System.in); char c = scanner.next().toCharArray...import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; char c =
i:input 输入 读取; o:output 输出 写入; 流:数据(字符、字节)1个字符=1字节 一个字节=8个二进制; 输入:把硬盘中的数据,读取到内存中使用; 输出:把内存中的数据,写入到硬盘中保存...; 字节流:字节输入流 InputStream 字节输出流 OutputStream字节符:字符输入流 Reader字符输出流 Writer 一切皆为字节。...java.io.OutputStream:字节输出流 此抽象类是表示输出字节流的所有类的超类; 定义了一些子类共性的成员方法 void close():关闭此输出流并释放与此流有关的所有系统资源 void...\\java\\abc.txt");byte[] bytes = "国军".getBytes();//写汉字//利用String中的方法getBytes()将字符串转为字节数组file1.write(bytes...:字节输入流 共性方法: void close() :关闭此输入流并释放与该流关联的所有系统资源; abstract int read():从输入流中读取数据的下一个字节; int read(byte
一.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。...Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。 Java.io是大多数面向数据流的输入/输出类的主要软件包。...在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛: 标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流等等,java中将输入输出抽象称为流,就好像水管...因此Java中的流分为两种: 1) 字节流:数据流中最小的数据单元是字节 2) 字符流:数据流中最小的数据单元是字符, Java中的字符是Unicode编码,一个字符占用两个字节。...在java.io包中有四个基本类:InputStream、OutputStream及Reader、Writer类,它们分别处理字节流和字符流: 基本数据流的I/O 输入/输出 字节流 字符流 输入流 Inputstream
前言 任何语言输入输出流都是很重要的部分,比如从一个文件读入内容,进行分析,或者输出到另一个文件等等,都需要文件流的操作。...JAVA的输入输出流有两种,一种是字节流(InPutStream,OutPutStream),一种是字符流(Reader,Writer)。 ...字符流只能读取类似文本这种文件。那么它们之间是什么关系呢?看下面这张图吧! ? 大致可以看到它们之间的关系,我们可以使用InPutStreamReader来实现字节流到字符流的转换。...Reader reader = new InputStreamReader(new FileInputStream(fileName)); 也可以使用OutPutStreamWriter来实现字节流到字符流的转换...; 4 import java.io.BufferedWriter; 5 import java.io.File; 6 import java.io.FileInputStream; 7
上篇文章,我们介绍了 Java 的文件字节流框架中的相关内容,而我们本篇文章将着重于文件字符流的相关内容。...基类 Reader/Writer 在正式学习字符流基类之前,我们需要知道 Java 中是如何表示一个字符的。...首先,Java 中的默认字符编码为:UTF-8,而我们知道 UTF-8 编码的字符使用 1 到 4 个字节进行存储,越常用的字符使用越少的字节数。...总结一下,我们花了三篇文章讲解了 Java 中的字节流和字符流操作,字节流基于字节完成磁盘和内存之间的数据传输,最典型的就是文件字符流,它的实现都是本地方法。...---- 文章中的所有代码、图片、文件都云存储在我的 GitHub 上: (https://github.com/SingleYam/overview_java)
零、前言 1.字符流只能操作文本 2.本质底层依然是使用字节操作,只不过坐了一层封装 3.字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,对多国语言支持性比较好...一、字符流之FileWriter和FileReader 1.字符流之FileWriter的使用 注:new FileWriter(fileName,true) 追加模式添加数据 FileWriter...FileWriter.png ---- 2.字符流之FileReader的使用 注:为了简单起见,将FileWriter.txt中的Line2 第二行删除 public class Client...:BufferedWriter和BufferedReader 将字符读入内存缓冲区,避免频繁执行读写操作,提高流的操作效率 默认字符数组缓冲区大小:8192 (即16K的缓冲) 1.BufferedWriter...-9 Java中的字符流 V0.2--无 - - 2.更多关于我 笔名 QQ 微信 爱好 张风捷特烈 1981462002 zdl1994328 语言 我的github 我的简书 我的CSDN 个人网站
大佬的理解->《Java IO(四) -- 字符流》 FileReader字符流读取文件,更适合用于读取文件,可以读取中文; 常用字符流类关系图 1、FileReader 1.1 初始化 FileReader...str) write(String str, int off, int len) write(char cbuf[]) write(char cbuf[], int off, int len) 案例:字符流直接写入字符串...//FileWriter 字符流写文件基本用法,可以直接写字符 try( FileWriter fwr= new FileWriter("D:/test/test2.txt")){...fwr.flush(); //一定要刷新缓冲区 System.out.println("字符流写入成功!!!")...; }catch (Exception e){ e.printStackTrace(); } 运行结果 字符流写入成功!!!
领取专属 10元无门槛券
手把手带您无忧上云