黑马程序员---IO流的简单应用

本文详细介绍了Java IO流的概念、分类及其在文件读写中的应用,重点阐述了字符流与字节流的区别与使用场景,通过实例演示了如何使用FileWriter和FileReader进行数据读写操作,包括数据的追加写入、换行处理以及异常处理策略,旨在帮助开发者高效地进行文件操作。


------- android培训java培训期待与您交流! ----------

 IO流概述:

(1)IO流的作用:上传文件和下载文件。
(2)IO流的分类:
A:流向
输入流 读取数据
输出流 写出数据
B:数据类型
字节流:字节输入流、字节输出流
字符流:字符输入流、
字符输出流

一般来说,如果没有说明按照哪种类型分,指的是按照数据类型分。
(3)什么时候使用字符流,什么时候使用字节流。
如果一个要操作的文件,通过记事本打开并能够读懂其内容,就可以考虑使用字符流。
否则,就使用字节流。
什么都不知道,就用字节流。
(4)IO的基类及具体类
A:字节流
字节输入流:InputStream、FileInputStream
字节输出流:OutputStream、FileOutputStream
B:字符流
字符输入流:Reader、FileReader
字符输出流:Writer、FileWriter
(5)FileWriter写数据的步骤及代码体现:
步骤:
A:创建字符输出流对象。
B:调用write方法。
C:释放资源。

public class IODemo {
	public static void main(String[] args) throws IOException {
		// 创建字符输出流对象
		FileWriter fw = new FileWriter("fw.txt");
		// public void write(String str)
		fw.write("hello,io,I am coming");
		fw.flush();
		fw.close();
	}
}
 
  

几个要注意的小问题:A:创建字符输出流对象做了哪些事情? 调用系统功能,创建一个文件fw2.txt。  创建字符输出流对象。  把对象指向文件B:为什么要刷新缓冲区?  因为数据底层是字节流数据,如果要使用字符流数据,就得刷新缓冲区才能写入文件。C:为什么要释放流资源?  关闭流对象,将流对象变为垃圾。  通知操作系统去释放,并开始创建那个文件相关的资源。D:刷新和释放有什么区别?          flush() 刷新缓冲区,流对象还可以继续使用。            close() 释放资源,但是会先刷新一次缓冲区,保证数据不丢失,操作完毕后,流对象不可以再被使用。 E:如何实现数据的换行?                            不同的操作系统对换行符的识别不太一致: windows:\r\nlinux:\n mac:\rF:如何实现数据的追加写入?                           使用带两个参数的构造方法。  第二个参数指示是否是追加写入。   public FileWriter(String fileName,boolean append)(6)FileReader读数据的步骤及代码体现:步骤:A:创建字符输入流对象。B:调用read方法,并把数据显示在控制台。C:释放资源。

			FileReader fr = new FileReader("fr.txt");
			//方式1:一次读取一个字符
			int ch = 0;
			while((ch=fr.read())!=-1) {
				System.out.print((char)ch);
			}
			//方式2:一次读取一个字符数组
			char[] chs = new char[1024];
			int len = 0;
			while((len=fr.read(chs))!=-1) {
				System.out.print(String.valueOf(chs,0,len));
			}
			fr.close();
(7)复制文本文件:
两种方式操作。代码自己补齐。
数据源:c:\\a.txt
目的地:d:\\b.txt
(8)加入异常后的代码(看懂即可)
A:FileWriter写数据
B:字符流复制文本文件

(9)使用FileReader和FileWriter来拷贝文件

public class CopyFileDemo {
	public static void main(String[] args) throws IOException {
		// 封装数据源
		FileReader fr = new FileReader("IODemo.java");
		// 封装目的地
		FileWriter fw = new FileWriter("d:\\Copy.java");

		// 读取数据并写出数据
		int ch = 0;
		while ((ch = fr.read()) != -1) {
			fw.write(ch);
		}

		// 释放资源
		fw.close();
		fr.close();
	}
}




-------  android培训 java培训 期待与您交流! ----------
内容概要:本文设计了一种基于PLC的全自动洗衣机控制系统内容概要:本文设计了一种,采用三菱FX基于PLC的全自动洗衣机控制系统,采用3U-32MT型PLC作为三菱FX3U核心控制器,替代传统继-32MT电器控制方式,提升了型PLC作为系统的稳定性与自动化核心控制器,替代水平。系统具备传统继电器控制方式高/低水,实现洗衣机工作位选择、柔和过程的自动化控制/标准洗衣模式切换。系统具备高、暂停加衣、低水位选择、手动脱水及和柔和、标准两种蜂鸣提示等功能洗衣模式,支持,通过GX Works2软件编写梯形图程序,实现进洗衣过程中暂停添加水、洗涤、排水衣物,并增加了手动脱水功能和、脱水等工序蜂鸣器提示的自动循环控制功能,提升了使用的,并引入MCGS组便捷性与灵活性态软件实现人机交互界面监控。控制系统通过GX。硬件设计包括 Works2软件进行主电路、PLC接梯形图编程线与关键元,完成了启动、进水器件选型,软件、正反转洗涤部分完成I/O分配、排水、脱、逻辑程规划水等工序的逻辑及各功能模块梯设计,并实现了大形图编程。循环与小循环的嵌; 适合人群:自动化套控制程。此外、电气工程及相关,还利用MCGS组态软件构建专业本科学生,具备PL了人机交互C基础知识和梯界面,实现对洗衣机形图编程能力的运行状态的监控与操作。整体设计涵盖了初级工程技术人员。硬件选型、; 使用场景及目标:I/O分配、电路接线、程序逻辑设计及组①掌握PLC在态监控等多个方面家电自动化控制中的应用方法;②学习,体现了PLC在工业自动化控制中的高效全自动洗衣机控制系统的性与可靠性。;软硬件设计程 适合人群:电气;③实践工程、自动化及相关MCGS组态软件与PLC的专业的本科生、初级通信与联调工程技术人员以及从事;④完成PLC控制系统开发毕业设计或工业的学习者;具备控制类项目开发参考一定PLC基础知识。; 阅读和梯形图建议:建议结合三菱编程能力的人员GX Works2仿真更为适宜。; 使用场景及目标:①应用于环境与MCGS组态平台进行程序高校毕业设计或调试与运行验证课程项目,帮助学生掌握PLC控制系统的设计,重点关注I/O分配逻辑、梯形图与实现方法;②为工业自动化领域互锁机制及循环控制结构的设计中类似家电控制系统的开发提供参考方案;③思路,深入理解PL通过实际案例理解C在实际工程项目PLC在电机中的应用全过程。控制、时间循环、互锁保护、手动干预等方面的应用逻辑。; 阅读建议:建议结合三菱GX Works2编程软件和MCGS组态软件同步实践,重点理解梯形图程序中各环节的时序逻辑与互锁机制,关注I/O分配与硬件接线的对应关系,并尝试在仿真环境中调试程序以加深对全自动洗衣机控制程的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值