Articles of 文件

为什么我只能在Windows上用Tie :: File打开2045个文件?

我有以下代码试图将数组绑定到文件。 除了当我运行这个代码时,它只创build2045个文件。 这里有什么问题? #!/usr/bin/perl use Tie::File; for (my $i = 0; $i < 10000; $i++) { @files{$i} = (); tie @{$files{$i}}, 'Tie::File', "files//tiefile$i"; } 编辑:我在窗户上

为什么复制到USB时文件修改时间会自动增加2秒?

好吧,我有一个奇怪的时刻,试图获取文件在USB驱动器中修改时间的文件。 通常情况下,我想当一个文件被复制到USB驱动器文件修改时间不会改变 。 但是,当我将任何文件复制到USB驱动器时,我发现文件修改时间增加了两个。 然而在研究中,我发现其他人在网上遇到过这个问题,但是我还没有看到任何答案,除了维基百科上的这篇文章 , 这篇文章提到了在FAT分区上增加碎片文件的读写时间,并没有为我澄清。 我还没有能够validation这是否发生在所有文件。 但是, 我想知道的是,当文件被复制到USB驱动器时,修改时间到底发生了什么的官方来源 。 我自己修改代码中的文件修改时间对我来说是明智的吗? 即减去两秒钟 。

Windows文件系统统计更新频率

我正在使用FileSystemWatcher类来监视文件的大小变化。 正在写入文件的软件保持一个stream打开并写入大约每五秒钟。 changed事件仅在打开Windows资源pipe理器时触发,然后单击“刷新”强制Windows更新文件的列出大小。 (Windows 7专门。) 我知道FileSystemWatcher是一种pokey,但除了定期使用FileInfo轮询文件之外,这里还有解决scheme吗? 例如,我可以让Windows更频繁地更新其文件统计信息? 请注意,写入软件打开文件的句柄后,“ModifiedAt”时间戳从不更新。 不知道Windows是否使用ModifiedAt戳的更新来触发重新计算其他文件统计信息。 我已经尝试了所有的NotifyFilters,并且没有被触发而没有强制Windows更新其文件统计信息。 有关: 在什么时候在Windows上更新文件

谁拥有Windows中的文件句柄?

你如何发现哪个进程在文件上有打开的句柄? 具体来说,你如何做到这一点编程?

如何获得在networking上的2个文件夹内的所有文件之间的差异?

所以我想比较这个文件夹 http://cloudobserver.googlecode.com/svn/branches/v0.4/Boost.Extension.Tutorial/libs/boost/extension/与这个 http://svn.boost.org/svn/boost/sandbox/boost/extension/ 。 我想得到一个diff文件作为结果。 这些文件夹是在svn控制下,但我更喜欢git样式的diff文件(就像这里显示的一样)我尝试了git diff但似乎没有为web文件夹工作。 那么如何用Linux上的一个命令做同样的事情呢? 更新:所以我们有一个很好的答案 。 但奇怪的是,这似乎表明,所有的文件(相同的文件)的所有内容被replace为非常相同的内容(虽然我确信只有3-4条代码行被改变)。 更新2:为了实现我真正需要的(只有真正改变的行,使用git样式,在Linux上): $ svn export http://cloudobserver.googlecode.com/svn/branches/v0.4/Boost.Extension.Tutorial/libs/boost/extension/ repos2 –native-eol CRLF $ svn export http://svn.boost.org/svn/boost/sandbox/boost/extension/ repos –native-eol CRLF $ git diff repos repos2 > fileWithReadableDiff.diff

文件洞和共享内存在Linux?

由于我阅读了Linux编程接口手册(非常好的阅读),我发现了Linux中的文件漏洞。 因此,使用像Ext4这样的Unix文件格式,可以打开一个新的文件,写入1000字节,寻找1000.000.000的位置,再写入1000个字节,并且根据文件格式的块大小最终产生一个文件块,大小为2048字节1024或512。 所以基本上文件被创build为一个1GB + 1000字节的长文件,其中只有两个实际的驱动器空间块被使用。 我可以擦除文件的中间,迫使系统释放驱动器上的块吗? 是否有一个等同的地方,我分配(共享内存)有或没有文件支持它也有孔,只是填充内存页面被写入? 分配1GB共享内存将是很好的,但从来没有充分利用它,直到必要时才避免重新映射,如果共享内存块应该增长。

使用x86汇编语言获取文件大小的简单方法

假设我已经在程序集中打开了一个文件,并在寄存器eax中具有该文件的文件句柄。 我将如何去获取文件的大小,以便我可以分配足够的缓冲区空间? 我研究了另一个讨论,build议使用sys_fstat(28)系统调用获取文件统计信息,但不能实现它… #My attempt at getting the file size _test: movl filehandle, %ebx #move filehandle (file descriptor) into ebx movl $28, %eax #fstat syscall int $0x80 # always end up with -14 in here not sure why

写入后文件中的垃圾值

我正在做一个存储在一个文件中的日志function。 int log_func(char* msg) { int log_fd=0; ssize_t write_ret=0; int close_logfile_ret=0; time_t result; char error_msg[MAX_LOG_MSG_LEN]={' '}; log_fd = open("/home/pi/log_client.txt", O_CREAT|O_APPEND|O_WRONLY); if(log_fd==-1) { printf("log failed !!—-file open"); exit(1); } result = time(NULL); snprintf(error_msg,MAX_LOG_MSG_LEN,"DALI_Server:%s:%s",asctime(localtime(&result)),msg); write_ret = write(log_fd,error_msg,sizeof(error_msg)); if(write_ret == -1) { printf("log failed !!—- write"); exit(1); } close_logfile_ret = close(log_fd); if(close_logfile_ret == -1) { printf("log failed !!—- […]

将内容文件过滤到表格中

这是我生成的input,显示Jany和Marco在不同时间的课程版本。 on 10:00 the course of jany 1 is : course:theory:nothing course:applicaton:onehour on 10:00 the course of jany 2 is : course:theory:math course:applicaton:twohour on 10:00 the course of Marco 1 is : course:theory:geo course:applicaton:halfhour on 10:00 the course of Marco 2 is : course:theory:history course:applicaton:nothing on 14:00 the course of jany 1 is : course:theory:nothing […]

将grep结果打印到文件和terminal

我试图将grep结果显示到terminal以及文件。 我提出的解决scheme是运行两次,但这显然会造成效率问题。 grep -n "$SEARCH_TERM" "$i" grep -n "$SEARCH_TERM" "$i" >> /file.txt 是否有一个标签,将允许它只能使用一个search打印? 谢谢