open方法读写文件
(一)打开和关闭文件
1、顺序文件 打开顺序文件,我们可以使用Open语句。它的格式如下:
说明: (1)参数pathname (2)Input Output (3)As[#]filenumber (4)当在文件与程序之间拷贝数据时,Len=buffersize子句指定缓冲区的字符数. 例如:
这两句代码在当前应用程序所在目录下创建了一个名为test.dat的文本文件,分配文件号为1.
这条语句是从文本文件中读取数据.
这条语句则是像文本文件中添加数据 2、随机文件 操作随机文件之前,首先必须定义用于保存数据项的记录类型.该记录是用户自定义数据类型,他们是随机文件中存储数据的基本结构.例如:
随机文件中,所有的数据都将保存到若干个结构为Student类型的记录中, 之后我们就可以打开并读写文件了.下面是打开随机文件的语法格式:
说明: (1)参数filename 和filenumber (2)关键字Random (3)Len子句用于设置记录长度,长度由参数Reclength指定.Reclength的值必须大于0,而且必须与定义的记录结构的长度一致.计算记录长度的方法是将记录结构中每个元素的长度相加.例如前面声明的Student的长度应该是2+20+2=24字节. 打开一个记录类型为Student
3、二进制文件 打开二进制文件的语法格式如下:
说明: (1) 参数filename (2)关键字Binary (3)对于二进制文件,不能指定字节长度.每个打开的二进制文件都有一个自己的指针,文件指针是一个数字值,指向下一次读写操作的文件中的位置.二进制文件中的每个”位置”对应一个数据字节,因此,有n个字节的文件,就有1到n个位置. 我们可以用Seek()函数返回当前的文件指针位置(即下一个要读写的字节
该语句用二进制的方式打开了student.txt文件. (二)读文件 1、顺序文件 顺序文件的读取有三种方式: (1)Line Input 该语句从打开的顺序文件中读取一行数据。这里的一行指的是从当前指针位置开始到回车符或回车换行符之间的所有数据。Line Input #
说明:“文件号”是打开文件时所用的文件号;“变量号”使用来存放读出数据的一个或多个变量,如果有多个变量,中间用空格分割开。Input# 请看下面代码:
此段代码逐行读取一个文件到文本框中。 (2)Input函数 此函数可以从顺序文件中一次读取指定长度的字符串。具体地说,就是从文件的当前位置开始,读取指定个数的字符,然后将他们返回。Input函数可以读取包括换行符,回车符,空格符等在内的各种字符。下面是它的语法格式: 变量 例如,要从一个打开文件中读取12个字符并复制到变量file中,我们可以这样写:
如果要将整个文件复制到变量,请使用InputB函数将字节从文件复制到变量。由于InputB函数返回一个ASCII字符串,因此,必须用StrCopy函数将ASCII字符串转换为Unicode字符串。代码如下:
(3)Input # Input
例如,我们要在文件student.txt中写入数据,下面是代码:
执行结果:
2、随机文件 读取随机文件是可以使用Get # 语法格式: Get # FileNum 说明: (1)FileNum (2)UserType 下面是一个例子:
该语句读取文件号为1的文件中的第5条记录. 3、二进制文件 读写二进制文件的方法和读写随机文件的方法基本相同,下面是相关的语句格式及其说明: 格式: 功能: 说明: (1)FileNumber是以二进制方式打开的文件号. (2)Pos用来指定读写操作发生时的字节位置,若省略,则使用当前文件指针位置. (3)Var是用来存放读出的数据的变量.该语句会自动根据var变量包含的字节长度读取适当的文件,如果Var是一个可变长度的字符串变量,则传送的字节数等于Var中目前的字节数.对于文件长度的判断我们可以使用Lof()函数,Eof()函数检查文件的结尾位置. 下面的代码复制studert.txt文件到student1.txt文件中
(三)写文件 1、 顺序文件 写顺序文件我们可以用Write # 下面是他们的格式和说明: Print # 的语法格式:
例如,将文本框中的文本写到文件中,代码如下:
Write # 语句的语法格式:
说明:用Write #
2、 向随机文件中写入数据,使用Put #语句.语法格式如下:
说明: (1) FileNum (2)UserType
如果要插入的数据不只一两条的话,首先要确定文件和每条记录的长度,这样就可以计算出文件中究竟有多少条记录.我们可以用Lof()函数返回文件的长度,Len()函数返回每个记录的长度,计算文件中的记录个数可以用文件的长度除以给个记录的长度.示例如下:
3、二进制文件 下面是以二进制方式写入文件的语句格式及其说明: 格式:
功能: 说明: (1)FileNumber是以二进制方式打开的文件号. (2)Pos用来指定写操作发生时的字节位置,若省略,则使用当前文件指针位置. (3)Var是用来存放写入的数据的变量.该语句会自动根据var变量包含的字节长度写入文件,如果Var是一个可变长度的字符串变量,则传送的字节数等于Var中目前的字节数 |
open方法读写文件的更多相关文章
- Hyper-V无法文件拖拽解决方案~~~这次用一个取巧的方法架设一个FTP来访问某个磁盘,并方便的读写文件
异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 服务器相关的知识点:http://www.cnblogs.com/dunitia ...
- C#读写文件的方法汇总_C#教程_脚本之家
C#读写文件的方法汇总_C#教程_脚本之家 http://www.jb51.net/article/34936.htm
- JAVA基础学习之流的简述及演示案例、用缓冲区方法buffer读写文件、File类对象的使用、Serializable标记接口(6)
1.流的简述及演示案例输入流和输出流相对于内存设备而言.将外设中的数据读取到内存中:输入将内存的数写入到外设中:输出.字符流的由来:其实就是:字节流读取文字字节数据后,不直接操作而是先查指定的编码表. ...
- Java读写文件方法总结
Java读写文件方法总结 Java的读写文件方法在工作中相信有很多的用处的,本人在之前包括现在都在使用Java的读写文件方法来处理数据方面的输入输出,确实很方便.奈何我的记性实在是叫人着急,很多时候既 ...
- [Python]读写文件方法
http://www.cnblogs.com/lovebread/archive/2009/12/24/1631108.html [Python]读写文件方法 http://www.cnblogs.c ...
- 【转】 Linux内核中读写文件数据的方法--不错
原文网址:http://blog.csdn.net/tommy_wxie/article/details/8193954 Linux内核中读写文件数据的方法 有时候需要在Linuxkernel--大 ...
- nodeJS中读写文件方法的区别
导言:nodejs中所有与文件相关的操作都在fs模块中,而读写操作又是我们会经常用到的操作,nodejs的fs模块针对读操作为我们提供了readFile,read, createReadStream三 ...
- Python 3 读写文件的简单方法!
Python 3 读写文件的简单方法! a = open('test.txt','w') 这行代码创建了一个名为test的文本文档,模式是写入(模式分为三种,w代表写入,r代表阅读,a代表在尾行添加) ...
- 【CodeBase】PHP转换编码,读写文件/网页内容的防乱码方法
核心代码: //检查字符串的编码 $charset=mb_detect_encoding($doc,['ASCII','GB2312','GBK','BIG5','UTF8'],TRUE); //字符 ...
随机推荐
- 如何高效利用 GitHub
正是 Github,让社会化编程成为现实.本文尝试谈谈 GitHub 的文化.技巧与影响. Q1:GitHub 是什么 Q2:GitHub 风格 Q3: 在 GitHub,如何跟牛人学习 Q4: 享受 ...
- HDU-4550-贪心
卡片游戏 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submis ...
- EBS 定义并发参数常用值集
1.ORG_ID 2.DATE 3.YES_NO
- ossim中Spot5模型bug修复
ossim中Spot5模型在读取像素视线角时存在一个严重的bug,导致某些点的视线角提取错误. 下面是ossim中getPixelLookAngleX 函数的代码: ossimSpotDimapSup ...
- L193
Real generosity toward the future lies in giving all to the present.将一切奉献给当下,就是对未来的真正慷慨.The wheels o ...
- GPU编程自学7 —— 常量内存与事件
深度学习的兴起,使得多线程以及GPU编程逐渐成为算法工程师无法规避的问题.这里主要记录自己的GPU自学历程. 目录 <GPU编程自学1 -- 引言> <GPU编程自学2 -- CUD ...
- 重启Tomcat还可以这样玩的哦
- 2018c语言第3次作业
6-1 输出月份英文名 1.设计思路 (1)主要描述题目算法 第一步:先定义一个指针数组. 第二步:根据for循环判断月份并返还月份字数. 2.实验代码 int getindex( char *s ) ...
- i2c接口笔记
一. i2c基础知识 1. NACK信号:当在第9个时钟脉冲的时候SDA线保持高电平,就被定义为NACK信号.Master要么产生STOP条件来放弃这次传输,或者重复START条件来发起一个新的开始. ...
- ambassador 学习五 配置文件简述
Ambassador 配置通过yaml 的定义文件 格式 apiVersion 版本,当前支持的版本为 ambassador/v0 kind 支持的类型,目前有Module AuthService R ...