幼儿园无聊的一天结束了,王文跟着文慧心火急火燎地赶忙回到家。
吃完晚饭,就回到了自己房间里,告诉妈妈自己要去复习今天老师讲的内容。
王文来到书桌前,假装打开《幼儿园数学》课本。
而注意力已经沉入意识空间中,开始浏览咖啡语言的输入输出模块的资料。
前文已经讲到为啥要有这个模块,总结就是为了数据的交互。
咖啡程序常常需要与外部世界(如文件、物质连接等)进行数据的读取和写入。
在咖啡语言中,输入输出提供了一种统一、规范的方式来处理这些数据交互操作。
而数据交互不同的数据格式是多种多样的,要兼容起来,所以抽象出来了一种标准那就是‘文件’。
每个文件都有自己的大小和标识符。
对于初学者,可以通过以下方式来帮助理解输入输出流的概念:
比如把输入流想象成水流进入管道(程序),而输出流就像从管道流出的水,数据就像水一样在程序和外部源之间流动。
现在通过一些简单的示例代码,让我们实际看到如何从物质文件中读取数据(输入)。
现在如何使用输入模块,来实现物质的信息读取,编写如下代码:
【
包|王文.世界.物质
导入|咖啡.输入.信息读取器;
导入|咖啡.输入.物质文件读取器;
公共|类|第一个物质处理{
*程序入口*
公共|静态的|无返回|入口(字符串[]参数){
*声明物质的位置,备注物质位置描述越精准,程序运行效率越高*
字符串|物质位置=“王文眼前书桌上的书《幼儿园数学》”;
*声明读取物质文件的工具代码*
物质文件读取器|文件读取=生|物质文件读取器(物质位置);
*声明读取物质信息的工具代码*
信息读取器|信息读取=生|信息读取器(文件读取);
*变量声明,用来在程序缓存物质信息内容*
字符串|一行;
*这是一个循环处理逻辑,将物质的信息内容一行一行读出,并缓存在“一行”变量中,并将通过宇宙输出模块显示出来*
循环(一行=信息读取.读取一行()!=空)
{
宇宙.输出.显示(一行);
}
}
}
】
现在如何使用输出模块,来实现物质的信息写入,代码如下:
【
包|王文.世界.物质
导入|咖啡.输出.信息写入器;
导入|咖啡.输出.物质文写入器;
导入|LF宇宙.物质.合成物质.书.纸张;
导入|LF宇宙.物质.合成物质.书.封面纸张;
公共|类|第二个物质处理{
公共|静态|无返回|入口(字符串[]参数){
*备注物质位置描述越精准,程序运行效率越高*
字符串|新物质位置=“王文眼前书桌上《幼儿园数学》课本上面”;
物质文写入器|文件写入=生|物质文写入器(物质位置);
信息写入器|信息写入=生|信息写入器(文件写入);
自制课本|信息内容=生|自制课本();
*不指定参数,自动适配大小*
宇宙.空间.分配空间();
*将纸张的物质信息写入新的物质中*
信息写入.写入(信息内容);
*将自制课本的信息数据写入到新的物质中,信息写入完后自动关闭通道*
}
*自定义课本信息类*
类|自制课本{
*引入已经获得的物质源码,纸张*
私有|纸张|封面=生|封面纸张(“幼儿园数学”);
*引入已经获得的物质源码,封面纸张*
私有|纸张|内容=生|纸张(“验证物质呈现”);
私有|字符串|页数=“1页”;
公共|无返回|翻页(){
宇宙.输出.显示(这.内容);
}
公共|无返回|合上(){
宇宙.空间.释放空间(当前物质大小());