IO流-字符流

server/2024/11/25 3:24:02/

字节流:适合复制文件等,不适合读写文本文件

字符流:适合读写文本文件内容

FileReader:文件字符输入流

*作用:是以内存为基准,可以把文件中的数据以字符的形式读取到内存中去

构造器说明
public FileReader(File file)创建字符输入流管道与源文件接通
public FileReader(String pathname)  创建字符输入流管道与源文件接通
方法名称说明
public int read() 每次读取一个字符返回,如果发现没有数据可读会返回-1. 
public int read(char[]buffer) 每次用一个字符数组去读取数据,返回字符数组读取了多少个字符,如果发现没有数据可读会返回-1.
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.Reader;public class FileReader1 {public static void main(String[] args) {//1、创建一个文件字符输入流,每次读取一个字符try ( Reader rd= new FileReader("D:\\code\\weilai1\\src\\itheima1.txt");){//读取文本文件中的内容了// int c;//记住每次读取的字符编号// while((c= rd.read())!=-1){//    System.out.print((char) c);// }//每次读取一个字符的形式,性能比较差//每次读取多个字符,性能比较好char []chars=new char[3];int len;while((len= rd.read(chars))!=-1){String str=new String(chars);System.out.print(str);}} catch (Exception e) {e.printStackTrace();}}
}

Filewriter(文件字符输出流) 
作用:以内存为基准,把内存中的数据以字符的形式写出到文件中去。

构造器说明
public FileWriter(File file) 创建字节输出流管道与源文件对象接通
public FileWriter(String filepath) 创建字节输出流管道与源文件路径接通
public Filewriter(File file,boolean append) 创建字节输出流管道与源文件对象接通,可追加数据
public Filewriter(String filepath,boolean append) 创建字节输出流管道与源文件路径接通,可追加数据
方法名称说明
void write(int c) 写一个字符
void write(String str) 写一个字符串
void write(String str, int off, int len) 写一个字符串的一部分
void write(char[ ]cbuf) 写入一个字符数组
void write(char[ ] cbuf, int off, int len) 写入字符数组的一部分
import java.io.FileWriter;
import java.io.IOException;public class FileWriter1 {public static void main(String[] args) {//覆盖管道try ( FileWriter fw=new FileWriter("D:\\code\\weilai1\\src\\itheima1.txt",true);){// void write(int c)fw.write('b');fw.write('类');fw.write(97);fw.write("\r\n");//换行//void write(String str)fw.write("你好,中国");fw.write("\r\n");// void write(String str, int off, int len)fw.write("你好,中国",0,2);fw.write("\r\n");// void write(char[ ]cbuf)char[]chars={'e','我','艾','9','a'};fw.write(chars);fw.write("\r\n");// void write(char[ ] cbuf, int off ,int len)fw.write(chars,0,3);fw.write("\r\n");} catch (IOException e) {e.printStackTrace();}}
}

字符输出流使用时的注意事项

字符输出流输出数据后,必须刷新流或者关闭流,写出的数据才能生效。

fw.flush;刷新流,刷新之后,流还可以继续使用

fw.close;关闭流,包含了刷新流


http://www.ppmy.cn/server/38379.html

相关文章

【吃透Java手写】2-Spring(下)-AOP-事务及传播原理

【吃透Java手写】Spring(下)AOP-事务及传播原理 6 AOP模拟实现6.1 AOP工作流程6.2 定义dao接口与实现类6.3 初始化后逻辑6.4 原生Spring的方法6.4.1 实现类6.4.2 定义通知类,定义切入点表达式、配置切面6.4.3 在配置类中进行Spring注解包扫描…

ISIS的基本概念

1.ISIS概述 IS-IS是一种链路状态路由协议,IS-IS与OSPF在许多方面非常相似, 例如运行IS-IS协议的直连设备之间通过发送Hello报文发现彼此,然后建立邻接关系,并交互链路状态信息。 CLNS由以下三个部分组成: CLNP&#xf…

QT设计模式:桥接模式

基本概念 桥接模式是一种结构型设计模式,它将抽象部分与它的实现部分分离,使得它们可以独立地变化,而不会相互影响。 需要实现的结构如下: 抽象部分(Abstraction):定义了抽象类的接口&#x…

QT--day3

1、mywidget.h #ifndef MYWIDGET_H #define MYWIDGET_H #include <QWidget> #include<QIcon> //图标类 #include<QLabel> //标签类 #include<QMovie> //动图类 #include<QLineEdit> //行编辑器类 #include<QPushButton> //按钮类 #include…

firewall-cmd --list-all详解

含义 在 firewall-cmd --list-all 命令的输出结果中&#xff0c;涉及到的每行的含义如下&#xff1a; “target”&#xff1a;表示当前 Firewalld 防火墙的默认目标&#xff0c;可以是 “ACCEPT”、“DROP” 或 “REJECT”。 “DROP”&#xff0c;表示拒绝所有流量&#xff1…

IO流-其他流:数据流,序列化流

import java.io.DataOutputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream;public class DataOutputStream1 {public static void main(String[] args) {//创建一个数据输出流包装一个低级的字节输出流try (DataOutputStream dosnew DataOutp…

【MySQL】3.MySQL核心概念解析:数据完整性、事务处理、索引及聚簇索引与非聚簇索引

探索MySQL的内部机制&#xff0c;理解数据完整性、事务处理、索引策略以及聚簇索引与非聚簇索引的区别是至关重要的。这些概念构成了数据库设计和优化的基础&#xff0c;对于确保数据的准确性、提高查询效率、维护数据的一致性和实现复杂的数据库操作至关重要。本文将逐一剖析这…

Pytorch之二

PyTorch是一个流行的深度学习框架&#xff0c;以下是对其优点和缺点的详细解释&#xff1a; 优点&#xff1a; 动态计算图&#xff1a;PyTorch使用动态计算图&#xff0c;与TensorFlow等框架的静态计算图不同。这意味着在PyTorch中&#xff0c;计算图是在运行时构建的&#x…