关于IO从白痴到略懂的一些理解

本文通过一个具体的文件复制示例,详细解析了Java中输入输出流(IO)的概念及其工作原理,帮助初学者理解如何使用Java进行文件的数据读取与写入。

       关于JAVA的IO,之前是一点都不能理解,老师们很清楚地用生活中的例子来描述,我却似懂非懂,放到代码中却更难以理解。刚开始接触C的时候,只知道输入和输出,在大二刚开学做的C++项目----T恤自动售货机,老师说要现实储存数据 和提取数据的功能,当时我还单纯的以为是把数据保存在数组上,然后可以打印出来。

       数据的存储,不单是指保存在数组上,也可以是以文件的形式保存在硬盘中。简单地说,储存在数组里的变量是保存在内存上的,断电后就会丢失,而后者则是永久地储存在硬盘中的。

       数据的提取,可以是打印储存在数组里的变量,也可以是打印出硬盘里的文件内容。

       IO,input,output,输入输出。流这一概念,像水管一样,可以流入流出,他建立在内存中,所以不放把它当作内存来看。输入流,也就是往内存中输入信息,输出流,就是把内存中的数据信息提取出来。而打印,只是显示流中的信息。

       光说可能不容易理解,举个实例(复制粘贴):

	public void copyPaste(String srcName,String destName){
		try{
		//创建文件输入流对象 形参代表的是将要输入到流中的数据文件,以路径的形式表示最好,分别创建一个输入流和输出流对象,在内存中占据一个空间 
			FileInputStream in = new FileInputStream(srcName);           //就像定义一个数组一样,只不过没有长度限制
			//创建文件输出流对象    形参代表的是输出流输出的目的文件也是最好以路径的形式表示                        
			FileOutputStream out = new FileOutputStream(destName);
			//获取字节总数
			int length = in.available();
			//把字节总数分为几段
			int m = length/(10*1024*1024);
			//取余
			int n = length%(10*1024*1024);
			//创建一个字节数组
			byte datas [] = new byte[10*1024*1024];
			//一段一段复制
			for(int o = 0;o<m;o++){
				//读入                             //在这对流写入 数据(上面输入的路径的文件)
				in.read(datas);
				//写出                             //在这把流中的数据输出保存到目的文件中
				out.write(datas);                 //也可以打印在屏幕上,但这并不会实现永久的保存,断电后数据就会消失
			}
			//创建一个字节数组    用来读入和写出剩余的字节
			byte datas_2 [] = new byte[n];
			in.read(datas_2);
			out.write(datas_2);
			System.out.println("文件复制粘贴完成!!!");
			//关闭流                                   //举例说流可以类比成一个数组,肯定也是占据了内存的,所以不用了请关闭
			out.close();
			in.close();
		}catch(Exception e){
			e.printStackTrace();
		}
	}

       上面的代码和算法可能会看不懂,主要想用写了备注的代码来举例今天我说得内容,想要形象地解释流这一概念。内容可能很白痴,我当初出现了这样的问题,也有人会有这样的疑问,在此记录的同时,希望对大家有所帮助!

      

   

                                                                                                                                                                                                                                   Techck




内容概要:本研究聚焦于绿电直连型电氢氨园区的优化运行,提出一种集成绿色电力直接供给、电解水制氢及氢气合成氨工艺的综合能源系统架构。通过建立包含风光发电、电解槽、氨合成反应器、储氢罐、电网交互及多类型负荷在内的系统模型,综合考虑绿电直供优先、能量梯级利用与多能互补原则,构建以系统综合运行成本最小化为目标的优化调度模型。研究采用Matlab与Python工具进行算法求解和仿真分析,利用实际气象与负荷数据完成案例验证,评估了不同运行策略下系统的经济性、可再生能源消纳能力与碳减排效益,为新型电氢氨一体化园区的规划与运行提供了理论依据和技术支撑。; 适合人群:具备一定电力系统、新能源或化工背景的研究生、科研人员及从事综合能源系统规划与优化工作的工程技术人员。; 使用场景及目标:①用于科研学习,理解电-氢-氨多能转换系统的建模与优化方法;②为工业园区的低碳化、智能化改造提供技术参考与决策支持;③作为开发类似综合能源管理系统的理论基础。; 阅读建议:此资源包含完整的模型代码、数据与论文,使用者应结合代码仔细研读论文中的模型构建部分,重点关注目标函数与约束条件的设计逻辑,并尝试修改参数进行仿真,以深入掌握优化算法在实际系统中的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值