文件操作

来源:互联网 发布:成都程序员工资水平 编辑:程序博客网 时间:2024/06/07 15:54

* 文件操作 * (文件open.pl)

  • 名词解释(仅适用于本文件)
    • filehandle 文件句柄,用于存放文件的唯一标示符
    • expr 文件名和文件访问模式做成的表达式
    • mode 文件访问类型
    • perm 访问权限位
  • 文件打开方式(四种)

      open filehandle,expr  open filehandle  sysopen filehandle,filename,mode,perm  sysopen filehandle,filename,mode
  • open方式的访问模式
    • < 或 r 只读方式打开,文件指针指向文件头
    • > 或 w 写入方式打开,文件指针指向文件头,文件不存在创建之
    • >> 或 a 写入方式打开,文件指针指向文件尾,文件不存在创建之
    • +< 或 r+ 读写方式打开,文件指针指向文件头
    • +> 或 w+ 读写方式打开,文件指针指向文件头,文件不存在创建之
    • +>> 或 a+ 读写方式打开,将文件指针指向文件尾
  • open方式举例
    perl
    #只读方式
    open(DATA,"<file.txt") or die "文件不存在,无法打开!";
    #写入方式
    open DATA,">file.txt" or die "文件无法打开";
    #仅写入追加
    open DATA,">>file.txt" or die "文件无法打开";
    #读写追加
    open DATA,"+>>file.txt" || die "文件无法打开";
  • sysopen方式的访问模式
    • O_RDWR 读写方式打开,指针指向文件头部
    • O_RDONLY 只读方式打开,指针指向文件头部
    • O_WRONLY 写入方式打开,指针指向文件头
    • O_CREAT 创建文件
    • O_APPEND 追加文件
    • O_TRUNC 将文件大小截为0
    • O_EXCL 测试文件是否存在
    • O_NONBLOCK 非阻塞I/O要么操作成功,要么立即返回错误,不被阻塞
  • sysopen方式举例
    perl
    #只读方式打开
    sysopen DATA,"file.txt",O_RDONLY;
    #更新文件前清空文件
    sysopen DATA,"file.txt",O_RDWR|O_TRUNC;
  • close函数
    close (filehandle);
  • 操作符
    • 标量上下文中,用,从文件句柄中返回单一行
    • 操作文件时,返回文件句柄中每一行的列表
  • getc函数
    getc filehandle; 从指定的文件句柄中返回单一的行,没指定返回STDIN
  • read函数
    perl
    read filehandle,scalar,length,offset;
    read filehandle,scalar,length;

    • scalar 存储结果;length 读取的内容长度;offset 偏移量
  • print函数
    print filehandle list;
    print list;
  • 文件拷贝
    open DATA1,"<file1.txt";
    open DATA2,">file2.txt";
    while(<DATA1>){
    print DATA2 $_;
    }
    close(DATA1);
    close(DATA2);
  • 文件重命名
    • rename 原名 更改的名字;
    • 只能对已存在的文件进行重命名
  • 删除文件
    • unlink(路径);
  • 指定文件位置
    perl
    tell filehandle; 用于获取文件位置
    seek();移动文件指针的位置来写入或读取文件
    seek filehandle,position,whence

    • position 文件指针需要移动的字节数
    • 文件指针的其实位置,0,1,2分别表示开头,当前位置,结尾
原创粉丝点击