哈喽,各位小伙伴们,你们好呀,我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。 ...在读取文件时,read()方法返回的是字符的ASCII码。如果已经到达文件的末尾,read()方法将会返回-1。...除了read()方法之外,FileReader类还提供了其他多种方法用于读取文件,如read(char[] cbuf)、read(char[] cbuf, int off, int len)等。...(char[] cbuf) throws IOException 读取多个字符到缓冲区 public int read(char[] cbuf, int...通过示例代码,我们可以更好地理解FileReader类的使用方法。... ...最后好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。...
明确数据所在的具体设备 明确是否需要额外功能(比如是否需要转换流、高效流) 1、IO流的四点明确 (1)明确要操作的数据是数据源还是数据目的(要读还是要写) 源:InputStream Reader...3、 public int read(char[] cbuf):从输入流中读取一些字符,并将它们存储到字符数组 cbuf中 FileReader类 java.io.FileReader类是读取字符文件的便利类..."); } } FileReader读取字符数据 读取字符:read方法,每次可以读取一个字符的数据,提升为int类型,读取到文件末尾,返回-1,循环读取,代码演示如下: public class...6.你说你的程序叫简单,我说我的代码叫诗篇 7.向左走 又向右走,我们转了好多的弯 8.Just 简单你和我 ,Just 简单程序员 2、转换流【掌握】 何谓转换流?...fileReader = new FileReader("C:\\a.txt"); int read; while ((read = fileReader.read()
public void close() :关闭此流并释放与此流相关联的任何系统资源。 public int read(): 从输入流读取一个字符。...public int read(char[] cbuf): 从输入流中读取一些字符,并将它们存储到字符数组 cbuf中 。...为什么字符流的read方法返回的还是一个int类型,而不是char类型? FileReader类 java.io.FileReader类是读取字符文件的便利类。...-- 方法: public int read(): 读取一个字符的编号返回!...-- 方法: public int read(): 读取一个字符的编号返回!
这是一个简单的Java IO Reader的例子: Reader reader = new FileReader("c:\\data\\myfile.txt"); int data = reader.read...Writer的write(int c)方法,会将传入参数的低16位写入到Writer中,忽略高16位的数据。...read()方法和write()方法调用时会导致流阻塞,这意味着如果你尝试在一个线程中同时进行读和写,可能会导致线程死锁。 管道的替代 除了管道之外,一个JVM中不同线程之间还有许多通信的方式。...System.err与System.out的运行方式类似,但它更多的是用于打印错误文本。...就我自己而言,我没发现这个类明显的用途。除了构造函数取一个Reader变量作为参数之外,我没看到FilterReader任何对Reader新增或者修改的地方。
read(cbuf, 0, cbuf.length); } abstract public int read(char cbuf[], int off, int len) 基本的读字符操作都在这了,...return sd.read(); } public int read(char cbuf[], int offset, int length){ return sd.read(cbuf...文件字符流 FileReader/Writer 文件的字符流可以说非常简单了,除了构造器,就不存在任何其他方法了,完全依赖文件字节流。...而我们的 FileReader 并没有扩展任何一个自己的方法,父类 InputStreamReader 中预实现的字符操作方法对他来说已经足够,只需要传入一个对应的字节流实例即可。...接着就是 PrintStream 的写方法: public void write(int b) public void write(byte buf[], int off, int len) 除此之外,
它定义了字节输入 流的基本共性功能方法 基本方法 public void close() 关闭此输入流并释放与此流相关联的任何系统资源 public abstract int read() 从输入流读取数据的下一个字节...= fis.read(); System.out.println((char)read2); int read3 = fis.read(); System.out.println((char)read3...= -1){ System.out.println((char)b); } read(byte[] b)方法 作用:每次读取b的长度个字节到数组中,返回读取到的有效字节个数,读 取到末尾时,返回...它定义了字符输入 流的基本共性功能方法 基本方法 public void close() 关闭此流并释放与此流相关联的任何系统资源 public int read() 从输入流读取一个字符。...public int read(char[] cbuf) 从输入流中读取一些字符,并将它们存储到字符数组 cbuf中 。
其他极少使用的Unicode辅助字符,使用四字节编码。 ⛹编码引出的问题 在IDEA中,使用FileReader 读取项目中的文本文件。由于IDEA的设置,都是默认的UTF-8编码,所以没有任何问题。...fileReader = new FileReader("E:\\File_GBK.txt"); int read; while ((read = fileReader.read...= -1) { System.out.print((char)read); } fileReader.close(); } } 输出结果:...[] cbuf = new char[1024]; // 3.2 定义长度 int len; // 3.3 循环读取 while ((len = isr.read...Java流处理之序列化和打印流 File类详解(获取文件名称、大小、路径、创建等)
调用读取流对象的read()方法。read():一次读一个字符,且会继续往下读。(方法1)read()读取单个字符。read(char[] cbuf)将字符读入数组。...readLine()方法返回的时只返回回车符之前的数据内容,并不返回回车符,即读取的内容中不包含任何行终止符(回车符和换行符)。...("b.txt"); 4,需要额外功能吗? ...将读取的字节数据转成字符串。再由字符流操作。 4,需要额外功能吗? 需要。转换。 将字节流转成字符流。因为名确的源是Reader,这样操作文本数据做便捷。 所以要将已有的字节流转成字符流。...fr = new FileReader("gbk_1.txt"); char[] buf = new char[10]; int len = fr.read(buf); String
,即是ascii码,这里官方文档说返回的是读取的字符数,但是我实验了一下返回的ascii码 System.out.println((char)content); //所以要将ascii...码转换成字符 } file.close(); 常用的几个方法: read(): return int 上面介绍过 read(char[] cbuf,int int...(file.skip(3));//实现将指针跳过3个字符 System.out.println((char)file.read()); //read的方法,和FileReader中的read...() read():如果到了末尾返回-1 read(char [],int off,int length):和FileReader中的一样 ready():判断是否还可以读取,一般和read配对使用 skip...如果没有缓冲,则每次调用 print() 方法会导致将字符转换为字节,然后立即入到文件,而这是极其低效的。
,那么数据是存储到字节数组中的,而这时候read方法的返回值是表示的是本次读取了几个字节数据到字节数组中。...content = 0; // int length = bufferedInputStream.read(buf); 如果传入了缓冲数组,内容是存储到缓冲数组中,返回值是存储到缓冲数组中的字节个数...new char[1024]; int length = 0 ; while((length = fileReader.read(buf))!...} } public class test { public static void main(String[] args) throws IOException { //打印流可以打印任何类型的数据...,而且打印数据之前都会先把数据转换成字符串再进行打印。
(file)) { // 读取文件内容 int c; while ((c = reader.read()) !...获取到文件对象后,我们再使用 while 循环不断地调用 read() 方法读取文件内容,直到返回 -1 为止。...每次调用 read() 方法都会返回下一个字符的 ASCII 码,我们将其强制转换为字符并打印出来。 但是, FileReader 读取文件时,文件必须是文本文件(例如,.txt 文件)。...java.io.FileInputStream 类 java.io.FileInputStream 类是文件字节输入流,是万能的,即任何类型的文件都可以采用这个流来读,因为所有的文件都是由字节组成的。...数据的读入 int data = fileInputStream.read(); while (data !
InputStream 抽象类 ① void close() 关闭此输入流并释放与此流相关联的任何系统资源。 ② int read() 从输入流读取数据的下一个字节。...③ int read(byte[] b) 从输入流中读取一些字节数,并将它们存储到字节数组 b中 。 5....Reader 抽象类 ① void close() 关闭此流并释放与此流相关联的任何系统资源。 ② int read() 从输入流读取一个字符。...③ int read(char[] cbuf) 从输入流中读取一些字符,并将它们存储到字符数组 cbuf中 。 2....FileReader ① 构造方法 * FileReader(File file) 创建一个新的 FileReader ,给定要读取的File对象。
类 构造方法 反序列化操作1 反序列化操作2 3.4 练习:序列化集合 案例分析 案例实现 第四章 打印流 4.1 概述 4.2 PrintStream类 构造方法 改变打印流向 第一章 缓冲流 昨天学习了基本的一些流...fileReader = new FileReader("E:\\File_GBK.txt"); int read; while ((read = fileReader.read...= -1) { System.out.print((char)read); } fileReader.close(); } } 输出结果:...[] cbuf = new char[1024]; // 3.2 定义长度 int len; // 3.3 循环读取 while ((len = isr.read...4.1 概述 平时我们在控制台打印输出,是调用print方法和println方法完成的,这两个方法都来自于java.io.PrintStream类,该类能够方便地打印各种数据类型的值,是一种便捷的输出方式
writer()中的参数是int类型,实际写出到文件内容是整数对应的ASCII码值 三种方式: void write(int b):一次写一个字节数据 void write(byte[] b):一次写一个字节数组的数据...码对应的int数字 读到文件末尾,read()返回 -1 public int read():一次读取一个字节数据 public int read(byte[] buffer):一次读取一个字节数组数据...pathname):创建字符输入流关联本地文件 若文件不存在,报错 ②读取数据 public int read():读取数据,都到末尾返回 -1 public int read(char[]...off,int len)写出一个字符串,指定起始索引和输出长度 void write(char[] cbuf):写出一个字符数组的数据 void write(char[] cbuf,int off,int...作用:当字节流想要使用字符流中的方法时,可使用转换流。 ---- 8. 序列化流 / 反序列化流 序列化流(对象操作输出流): 作用:可以将Java对象写入到本地文件中。
---- Abstract superclass Reader and Writer 除了操作和字符集转换(这非常复杂)之外,基于字符的I / O几乎与基于字节的I / O相同。...抽象超类Reader操作char,它声明一个抽象方法read()从输入源读取一个字符。...read()将字符返回为0到65535之间的一个int(Java中的一个char可以被视为一个无符号的16位整数); 如果检测到end-of-stream,则为-1。...public abstract int read() throws IOException public int read(char[] chars, int offset, int length) throws...java.nio.charset作为NIO(New IO)的一部分,以支持Java程序内部使用的Unicode(UCS-2) 和以任何其他格式编码的外部设备之间的字符进行转换(例如, US-ASCII,
它定义了字节输入流的基本共性功能方法。 public void close() :关闭此输入流并释放与此流相关联的任何系统资源。...public void close() :关闭此流并释放与此流相关联的任何系统资源。 public int read() : 从输入流读取一个字符。...public int read(char[] cbuf) : 从输入流中读取一些字符,并将它们存储到字符数组 cbuf中 FileReader类 构造方法 FileReader(File file) :...: 我 喜 欢 编 程 使用字符数组读取: read(char[] cbuf) ,每次读取b的长度个字符到数组中,返回读取到的有效字符个数, 读取到末尾时,返回 -1 ,代码演示: public class...它定义了字节输出流的基本共性功能方法。 void write(int c) 写入单个字符。 void write(char[] cbuf) 写入字符数组。
字符流 I/O 会自动将这个内部格式与本地字符集进行转换。在西方的语言环境中,本地字符集通常是 ASCII 的8位超集。 对于大多数应用,字符流的 I/O 不会比 字节流 I/O操作复杂。...输入和输出流的类与本地字符集进行自动转换。使用字符的程序来代替字节流可以自动适应本地字符集,并可以准备国际化,而这完全不需要程序员额外的工作。...CopyLines 使用 println 输出带有当前操作系统的行终止符的每一行。这可能与输入文件中不是使用相同的行终止符。 除字符和行之外,有许多方法来构造文本的输入和输出。...这里有一些其他的转换格式: x 格式化整数为十六进制值 s 格式化任何值作为字符串 tB 格式化整数作为一个语言环境特定的月份名称。 还有许多其他的转换。...流只包含一个对象的一个拷贝,尽管它可以包含任何数量的对它的引用。因此,如果你明确地写一个对象到流两次,实际上只是写入了2此引用。
领取专属 10元无门槛券
手把手带您无忧上云