前言 本文主要学习FileReader类读取文本文件的内容,FileWriter类把内容写入到文本文件,实现在FileWriter类中实现文本文件末尾追加数据。接下来小编带大家一起来学习!...一、 FileReader类 1.FileReader是Reader的子类,FileReader是按字符读取文件中的数据。...》 5.如何使用FileReader读取文件中的字符?...如果文本文件存在的话,先清空文本文件的内容后再进行写入。想实现文本末尾追加数据去调用重载的构造方法就可以了。...FileReader类介绍了它的构造方法和方法,通过FileReader类来实现读取文本文件的内容例子帮助理解它的用法。
1.编写一个程序,读取源代码文件的内容并在控制台输出。如果源文件不存在,则显示相应的错误信息。...try { FileReader fr = new FileReader(f);//将文件读取到内容中 int m;//int包含char的范围...//使用缓存型流时操作完成后必须加上flush语句。...fw.write(new String(temp)+"\r\n"); /* * windows下的文本文件换行符...:\r\n linux/unix下的文本文件换行符:\r * Mac下的文本文件换行符:\n */
java.io.Reader 是一个抽象类, 只能用来操作文本文件 Reader常用实现类的继承关系 java.lang.Object java.io.Reader java.io.InputStreamReader...FileReader子类 用于读取字符流。读取字符文件的便捷类。...构造方法 方法 说明 BufferedReader(Reader in) 一般传入一个FileReader对象 特有方法 返回值 方法 说明 String readLine() 读取一行 使用实例:...: * String readLine() * 连续读取若干字符,直到读取到换行符为止 * 并将换行符之间读取到的字符以一个字符串返回 * 若返回值为NULL,则表示读取到末尾。...* 注意:该字符串不包含最后的换行符。 * */ String line = null; while((line = br.readLine())!
当BufferedReader在读取文本文件时,会先尽量从文件中读入字符数据并放满缓冲区,而之后若使用read()方法,会先从缓冲区中进行读取。...BufferedReader比FileReader高级的地方在于这个,FileReader能一次读取一个字符,或者一个字符数组。...可以看到包装FileReader的BufferedReader在读取文件时候如果文件的编码和项目的编码不一样的时候,会出现乱。...writer.close(); } 需要注意的是,BufferedReader的readLine()读取一行的时候返回的字符串没有换行符,所以,复制的时候写文件是我们好多写入一个换行符,使用writer.newLine...这是因为我们每次都在读到的字符串后面写一个换行符。 解决办法:在读到的字符串前面写换行符,这样出现新的问题,就是在文件开头多出了一个空行,所以加入控制语句,在第一行不写入换行符,第二行后再写。
修改文本文件,在文件中每一行内容前增加行号,行号需要递增。...1、分析 读取文本文件,可以使用转换流 InputStreamReader 或者使用 FileReader; 写入文本文件,可以使用转换流 OutputStreamWriter 或者使用 FileWriter...下边将通过使用字符缓冲流按行读取文本内容,增加行号后再按行写入。...字符流+字符缓冲流 相比2.1中的代码,2.2的代码相对简洁,但其实是读取文本文件,完全可以使用 Reader 和 Writer 来实现。...BufferedReader br = new BufferedReader(new FileReader(ori)); //文件写入
现在让我们深入了解如何使用缓冲字符流来处理文本文件。 为什么需要缓冲字符流? 在读写文本文件时,每次读取或写入一个字符可能涉及到磁盘或网络I/O操作,这是相对较慢的。...BufferedReader提供了readLine()方法,它可以一次读取一行文本,并返回一个字符串。通过在循环中反复调用readLine(),我们可以逐行读取整个文本文件。...它逐行读取源文件并逐行写入目标文件,确保保留了源文件的格式和换行符。 11....使用FileReader和FileWriter 如果您需要以字符流的形式读取或写入文件,可以使用FileReader和FileWriter,它们不带缓冲区,适合处理较小的文件。...:使用BufferedReader逐行读取大型文本文件,例如日志文件或配置文件。
; import java.io.IOException; import java.util.ArrayList; /* * 需求:从文本文件中读取数据(每一行为一个字符串数据)到集合中,并遍历集合...bw.newLine(); bw.flush(); } // 释放资源 bw.close(); System.out.println("学习信息存储完毕"); } } I:把某个文件中的字符串排序后输出到另一个文本文件中...,把数据排序后写入ss.txt中。...* * 分析: * A:把s.txt这个文件给做出来 * B:读取该文件的内容,存储到一个字符串中 * C:把字符串转换为字符数组 * D:对字符数组进行排序 * E:把排序后的字符数组转换为字符串...,根据换行符判断是否结束,只返回内容,不返回换行符 */ public class MyBufferedReader { private Reader r; public MyBufferedReader
null BufferedWriter: 字符缓冲输出流(也叫高效字符输出流) public void newLine(); 根据当前操作系统给出对应的换行符....Windows换行符 Mac换行符 Unix换行符 \r\n \r \n 特点:字符缓冲流自带有缓冲区, 大小为8192个字符, 也就是16KB. 注意: 字符流只能拷贝纯文本文件....定义变量, 记录读取到的数据. 循环读取, 只要条件满足就一直读, 并将读取到的内容赋值给变量....BufferedReader br = new BufferedReader(new FileReader("11.txt")); //2....BufferedReader br = new BufferedReader(new FileReader("1.txt")); //2.
21.01_IO流(字符流FileReader) 1.字符流是什么 字符流是可以直接读写字符的IO流 字符流读取字符, 就要先读取到字节数据, 然后转为字符....如果要写出字符, 需要把字符转为字节再写出. 2.FileReader, FileWriter FileReader类的read()方法可以按照字符大小读取 FileReader fr = new...//将读到的字符赋值给ch System.out.println((char)ch); //将读到的字符强转后打印...= -1) { fw.write(ch); } fr.close(); fw.close(); 21.04_IO流(什么情况下使用字符流) 字符流也可以拷贝文本文件, 但不推荐使用....(不包含换行符号) BufferedWriter的newLine()可以输出一个跨平台的换行符号"\r\n" BufferedReader br = new BufferedReader(new FileReader
fos.write(b); // 关闭资源 fos.close(); } } 文件操作前:cd 文件操作后:cdabcde 写出换行 Windows系统里,换行符号是...换行符:下一行(newline)。...第三章 字符流 当使用字节流读取文本文件时,可能会有一个小问题。就是遇到中文字符时,可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储。...构造方法 FileReader(File file): 创建一个新的 FileReader ,给定要读取的File对象。...,不能操作图片,视频等非文本文件。
fos.write(b); // 关闭资源 fos.close(); } } 文件操作前:cd 文件操作后:cdabcde 写出换行 Windows系统里,换行符号是...换行符:下一行(newline)。...字符流 当使用字节流读取文本文件时,可能会有一个小问题。就是遇到中文字符时,可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储。...所以Java提供一些字符流类,以字符为单位读写数据,专门用于处理文本文件。 字符输入流【Reader】 java.io.Reader抽象类是表示用于读取字符流的所有类的超类,可以读取字符信息到内存中。...构造方法 FileReader(File file): 创建一个新的 FileReader ,给定要读取的File对象。
换行符:下一行(newline)。...构造方法 FileReader(File file) : 创建一个新的 FileReader ,给定要读取的File对象。...FileReader(String fileName) : 创建一个新的 FileReader ,给定要读取的文件的名称。 当你创建一个流对象时,必须传入一个文件路径。...FileReader(file); //使用文件路径创建流对象 FileReader reader1 = new FileReader("b.text"); 读取字符,使用read()方法...,不能操作图片,视频等非文本文件。
,这个换行符由系统决定 BufferedReader String readLine():一次读取一行数据,但是不读取换行符 注意: 一切带缓冲的流在写出数据时,均需要刷新缓冲区调用flush方法,否则数据并没有真正写出到文件...单级文件夹复制,即文件夹中不包含文件夹时,将a文件夹内所有内容复制到b文件夹中 较难习题: 多级文件夹复制:将a文件夹下的所有内容(包括a文件夹全部复制到b文件夹中)(了解) IO结合字符串:将字符内容读取后...,再进行筛选判断工作 IO结合集合:将内容读取后,使用集合持有在内存中进行其他操作 第4章 本日自习作业: 4.1 知识点相关题 4.1.1 转换流OutputStreamWriter和InputStreamReader...(该文件中全部为中文),并查找”的”这个字出现了几次 4.1.11 一个集合中存储多个Person对象(name,age),将多个对象内容写到文本中 4.1.12 读取一个文本文件,将内容打印到控制台(...=0; i<list.size(); i++) { String s = list.get(i); System.out.println(s); } } } 4.2.4 转换流操作文本 要求: 转换流读取文本文件
包括:文本文件,图片,声音文件,视频文件 等 eg....2.3 按照 字符 的方式读取数据的,一次读取一个字符. 这种流是为了方便读取 普通文本文件 而存在的, 这种流不能读取:图片、声音、视频等文件。只能读取 纯文本文件, 连word文件都无法读取。...注意: 纯文本文件,不单单是.txt文件,还包括 .java、.ini、.py 。总之只要 能用记事本打开 的文件都是普通文本文件。 eg....FileReader 文件字符输入流,只能读取普通文本。...BufferedReader br = new BufferedReader(reader); // br.readLine()方法读取一个文本行,但不带换行符。
字符流以字符为单位进行读取和写入,而不是字节。它们能够正确处理字符编码,因此适用于文本文件的读写。...= -1) { // 处理读取的字符数据 } 这些是Java字符流的基本知识,它们非常有用,特别是在处理文本文件时。...使用示例:复制文本文件 下面是一个示例,演示如何使用字符流复制一个文本文件。...= null) { writer.write(line); writer.newLine(); // 写入换行符 } } catch (IOException e...根据文本文件的编码方式来选择合适的字符流。 9.2. 关闭流 始终在使用完字符流后关闭它们,以释放资源并确保数据被正确写入或读取。
后开先关, 先开后关. fos.close(); fis.close(); System.out.println("复制文件完毕"); } } 2.2.9 字节流练习 2.2.9.1 复制文件 原理...要读取字符流,请考虑使用 FileReader。 打开FileReader的API介绍。用来读取字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节高效区大小都是适当的 构造方法 ?...; /* * 字符流 :读取文本文件 * * 字符输入流 Reader 的子类, FileReader . */ public class Demo { public static void...: 一次读写一个字符复制文本文件 操作步骤: 1.创建FileReader对象,并且绑定数据源 2.创建FileWriter对象,并且绑定数据目的地 3.调用FileReader中读取字符的方法read...; 向文件中写入:我爱Java 向文件中写入:换行符; 向文件中写入:这是我用字节输出流写入的内容; 向文件中写入:换行符 关闭流 查看文件内容; 多运行几次这个程序,再次查看这个文件;请说明是怎样实现
理解了字节流和字符流后,我们介绍一下Java中的标准输入输出和错误流。 最后,我们总结一些简单的实用方法。 基本概念 文本文件 上节我们提到,处理文件要有二进制思维。...字符流 字节流是按字节读取的,而字符流则是按char读取的,一个char在文件中保存的是几个字节与编码有关,但字符流给我们封装了这种细节,我们操作的对象就是char。...它有如下方法,可以读入一行: public String readLine() throws IOException 字符'\r'或'\n'或'\r\n'被视为换行符,readLine返回一行内容,但不会包含换行符...=null){ writer.close(); } } } 保存后的文件内容显示为: 张三,18,80.9 李四,17,67.5 从文件中读取的代码为...它也有很多重载形式的println方法,println除了调用对应的print,还会输出一个换行符。
CSV是一种常见的文本文件格式,用于存储以逗号为分隔符的表格数据。 Apache Commons CSV提供了简单而灵活的API,使您能够轻松地处理CSV文件。...它支持自定义分隔符、引用字符和转义字符,可以处理包含换行符和特殊字符的字段,并提供了方便的方法来读取和写入CSV数据。...2、主要特点 读取和写入CSV文件:您可以使用该库来读取现有的CSV文件,并从中提取数据。您还可以使用它来创建新的CSV文件并将数据写入其中。...处理换行符和特殊字符:Apache Commons CSV支持处理包含换行符和特殊字符(如分隔符本身)的字段。它可以正确解析这些字段,并提供一致的访问方式。...*/ public class Hello { public static void main(String[] args) { try (Reader in = new FileReader
//和flush区别:flush刷新后,流可以继续使用,close刷新后,会将流关闭。 ...fr = new FileReader("demo.txt"); /* * 使用read(char[])读取文本文件数据。...public class CopyTextTest { public static void main(String[] args) throws IOException { //1,读取一个已有的文本文件...readLine()方法返回的时只返回回车符之前的数据内容,并不返回回车符,即读取的内容中不包含任何行终止符(回车符和换行符)。...当录入一行数据后,就将该行数据进行打印。 如果录入的数据是over,那么停止录入。 * 1,因为键盘录入只读取一个字节,要判断是否是over,需要将读取到的字节拼成字符串。
领取专属 10元无门槛券
手把手带您无忧上云