File 文件操作

CBrother提供File类来操作文件。

文件打开模式

  1. var myFile = new File("c:/test.txt"); //不传第二个参数默认用r只读模式打开
  2. var myfile = new File("c:/test.txt","r");

第二个参数决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读写模式(rb)。

模式描述
b 二进制模式。用于与其他模式进行连接。
+ 打开一个文件进行更新(可读可写)。用于与其他模式进行连接。
r 以只读方式打开文件。文件的指针将会放在文件的开头
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

File成员函数

函数描述参数返回值用法
size() 获取文件大小(字节) 文件大小(字节) myFile.size()
read(len) 从文件里读取len长度的内容 len:要读取的长度,不传len默认读取4096字节 文件内容 var v = myFile.read()
readLine() 从文件里读取一行,以'\n'结尾 文件内容 var v = myFile.readLine()
write(v) 给文件里写入内容 v:内容。可以是数字或字符串 myFile.write("file value!")
writeBytes(v,len) 给文件里写入byte内容 v:内容。可以是字符串或者ByteArray对象 len:写入长度。不传写入全部内容 myFile.writeBytes("file value!",3)
flush() 将缓冲区中的修改写入文件 myFile.flush()
close() 关闭文件 myFile.close()
exists() 检测当前文件是否存在 true:存在,false:不存在 var haveFile = myFile.exists()
rename(newName) 将打开的文件重命名 newName:新文件名 myFile.rename("newName.txt")
mkdir() 创建当前文件路径 myFile.mkdir()
remove() 删除当前文件 myFile.remove()

例子:

  1. function main(parm)
  2. {
  3. var myFile = new File("C:/aaa.txt","w");
  4. if(!myFile.exists())
  5. {
  6. myFile.mkdir();
  7. myFile = new File("C:/aaa.txt","w");
  8. }
  9. myFile.write("aaaaaaa");
  10. myFile.close();
  11. myFile = new File("C:/aaa.txt","r");
  12. print "file size:" + myFile.size();
  13. print myFile.read();
  14. myFile.close();
  15. }

结果:

  1. file size:7
  2. aaaaaaa