|
perl读写二进制文件只能使用sysread和syswrite
以下是一个读取文件,写入文件的例子
open RF, '<F:/training video/_back/1.wmv';
open WF, '>F:/training video/_back/11.wmv';
print "begin:\n";
my $len_read=1024;
my $len = sysread RF, $buf, $len_read;
while ( $len > 0 ) {
syswrite WF, $buf, $len;
$len = sysread RF, $buf, $len_read;
}
close RF;
close WF;
print "complete";
注:这两个函数没有用到缓存,故读写速度会较慢,如果要读的文件比较大,并且len_read设置的很小,比如1,则
这个程序会非常之慢。另外, read函数与sysread函数有些类似,不过read是按字符,sysread是按字节 |
|
|