字符流

本文介绍Java中处理文本文件的基本方法,包括FileWriter和FileReader类的使用,以及如何利用BufferedWriter和BufferedReader提高文件读写效率。

Reader

|--InputStreamReader

|--FileReader:专门用于处理文件的字符读取流对象。

Writer

|--OutputStreamWriter

|--FileWriter:专门用于处理文件的字符写入流对象。

Reader中的常见的方法:

1,intread():读取一个字符。返回的是读到的那个字符。如果读到流的末尾,返回-1.

2,intread(char[]):将读到的字符存入指定的数组中,返回的是读到的字符个数,

也就是往数组里装的元素的个数。如果读到流的末尾,返回-1.

3,close():读取字符其实用的是window系统的功能,就希望使用完毕后,进行资源的释放。

Writer中的常见的方法:

1,write(ch):将一个字符写入到流中。

2,write(char[]):将一个字符数组写入到流中。

3,write(String):将一个字符串写入到流中。

4,flush():刷新流,将流中的数据刷新到目的地中,流还存在。

5,close():关闭资源:先关闭前会先调用flush,刷新流中的数据去目的地。然流关闭。

FileWriter:

该类没有特有的方法。只有自己的构造函数。

该类特点在于,

1,用于处理文本文件。

2,该类中有默认的编码表,

3,该类中有临时缓冲。

构造函数:在写入流对象初始化时,必须要有一个存储数据的目的地。

FileWriter(Stringfilename):

该构造函数做了什么事情呢?

1,调用系统资源。

2,在指定位置,创建一个文件。

注意:如果该文件已存在,将会被覆盖。

FileWriter(Stringfilename,booleanappend):

该构造函数:当传入的boolean类型值为true时,会在指定文件末尾处进行数据的续写。

FileReader:

1,用于读取文本文件的流对象。

2,用于关联文件文件。

构造函数:在读取流对象初始化的时候,必须要指定一个被读取的文件。

如果该文件不存在会发生FileNotFoundException.

FileReader(Stringfilename);

字符流的缓冲区:

缓冲区的出现提高了对流的操作效率。

原理:其实就是将数组进行封装。

BufferedWriter、BufferedReader

对应的类:

lBufferedWriter:

特有方法:

newLine():跨平台的换行符。

lBufferedReader:

特有方法:

readLine():一次读一行,到行标记时,将行标记之前的字符数据作为字符串返回。 当读到末尾时,返回null

在使用缓冲区对象时,要明确,缓冲的存在是为了增强流的功能而存在,所以在建立缓冲区对象时,要先有流对象存在。

其实缓冲内部就是在使用流对象的方法,只不过加入了数组对数据进行了临时存储。为了提高操作数据的效率。

代码上的体现:

写入缓冲区对象。

//建立缓冲区对象必须把流对象作为参数传递给缓冲区的构造函数。

BufferedWriterbufw=newBufferedWriter(newFileWriter("buf.txt"));

bufw.write("abce");//将数据写入到了缓冲区。

bufw.flush();//对缓冲区的数据进行刷新。将数据刷到目的地中。

bufw.close();//关闭缓冲区,其实关闭的是被包装在内部的流对象。

读取缓冲区对象。

BufferedReaderbufr=newBufferedReader(newFileReader("buf.txt"));

Stringline=null;

//按照行的形式取出数据。取出的每一个行数据不包含回车符。

while((line=bufr.readLine())!=null){

System.out.println(line);

}

bufr.close();

【事件触发一致性】研究多智能体网络如何通过分布式事件驱动控制实现有限时间内的共识(Matlab代码实现)内容概要:本文围绕多智能体网络中的事件触发一致性问题,研究如何通过分布式事件驱动控制实现有限时间内的共识,并提供了相应的Matlab代码实现方案。文中探讨了事件触发机制在降低通信负担、提升系统效率方面的优势,重点分析了多智能体系统在有限时间收敛的一致性控制策略,涉及系统模型构建、触发条件设计、稳定性与收敛性分析等核心技术环节。此外,文档还展示了该技术在航空航天、电力系统、机器人协同、无人机编队等多个前沿领域的潜在应用,体现了其跨学科的研究价值和工程实用性。; 适合人群:具备一定控制理论基础和Matlab编程能力的研究生、科研人员及从事自动化、智能系统、多智能体协同控制等相关领域的工程技术人员。; 使用场景及目标:①用于理解和实现多智能体系统在有限时间内达成一致的分布式控制方法;②为事件触发控制、分布式优化、协同控制等课题提供算法设计与仿真验证的技术参考;③支撑科研项目开发、学术论文复现及工程原型系统搭建; 阅读建议:建议结合文中提供的Matlab代码进行实践操作,重点关注事件触发条件的设计逻辑与系统收敛性证明之间的关系,同时可延伸至其他应用场景进行二次开发与性能优化。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值