精华内容
下载资源
问答
  • Java写入文件、读取文件,复制、追加、修改文件最后修改时间时间格式转换、查看端口使用情况
  • 这款源码属于修改文件属性的时间和创建时间访问时间可以做到快速修改文件时间的一款小工具
  • 文件写入与缓存

    2019-09-28 11:43:17
    多次写入少量数据与一次写入大量数据相比,所需的时间更久,所以大部分程序在处理写入的时候都会将写入的数据进行缓存,等到缓存满了之后再写入磁盘,python在使用open打开文件进行写入时会自动进行缓存。...

    由于写入磁盘是一个比较耗时的操作,多次写入少量数据与一次写入大量数据相比,所需的时间更久,所以大部分程序在处理写入的时候都会将写入的数据进行缓存,等到缓存满了之后再写入磁盘,python在使用open打开文件进行写入时会自动进行缓存。

    下面的代码,在程序运行开始后一段时间,只有写入的文件名,文件大小一直保持为0

    import time
    
    
    with open("/home/buxizhizhoum/test_cp.py", "wb") as f:
        i = 0
        while True:
            i += 1
            f.write(str(i))  # only write data to buffer
            print i
            time.sleep(1)

    原因在于使用f.write()只是将数据写入缓存,并不能保证数据已经被写入磁盘,当缓存满时,Python会将缓存的数据写入磁盘。

    如果需要强制在写入缓存后立即写入磁盘,可以使用f.flush(),但是使用f.flush()还是不能确保数据一定写入了磁盘,因为还有可能被操作系统缓存,这时可以使用os.fsync(f)告诉操作系统将数据写入磁盘。

    import time
    import os
    
    
    with open("/home/buxizhizhoum/test_cp.py", "wb") as f:
        i = 0
        while True:
            i += 1
            f.write(str(i))
            f.flush()  # flush to buffer, the possibility that data mighted be buffered by OS is still exist.
            os.fsync(f)  # write to disk immediately
            print i
            time.sleep(1)

    此外可以在打开文件时,传参数告诉python不缓存任何数据,直接将数据写磁盘,这时可以使用open("filename", "w", 0),或者只缓存一行数据open("filename", "w", 1)

    with open("/home/buxizhizhoum/test_cp.py", "wb", 0) as f:  # not to buffer any data, by passing 0
        i = 0
        while True:
            i += 1
            f.write(str(i) + '\n')
            print i
            time.sleep(1)

    由于磁盘的随机读写比连续读写慢很多,这会拖慢对这个文件的所有操作。

    ref: https://stackoverflow.com/questions/9824806/how-come-a-file-doesnt-get-written-until-i-stop-the-program

     

    转载于:https://www.cnblogs.com/buxizhizhoum/p/8623808.html

    展开全文
  • FREAD_SAC 读取指定机器格式的 IRIS/SAC 文件,并返回 2 种类型:1) 时间向量、数据向量和... FWRITE_SAC 读取 SAC 结构变量(可以由您自己或 FREAD_SAC 生成),完成缺少的标头,和/或将其写入指定机器格式的文件中。
  • 远程文件的创建、写入修改、删除 最近项目中需要将textarea中提交的内容以文件的形式保存至文件服务器的指定文件夹下,实现过程中遇到一些阻碍,走了一些弯路,特此纪录。 1.远程文件的创建及写入 方案一 对于本地...

    远程文件的创建、写入、修改、删除

    最近项目中需要将textarea中提交的内容以文件的形式保存至文件服务器的指定文件夹下,实现过程中遇到一些阻碍,走了一些弯路,特此纪录。

    1.远程文件的创建及写入

    方案一
    对于本地文件的创建及写入可以直接利用fopen()、fwrite()、fclose()

    $path = '../materials/'.$id.'/content.html';
    $dir = dirname($path);
     //文件目录不存在,则创建
    if(!is_dir($dir))
    	$dir = mkdir($dir,0777);	
    $contenttxt = fopen($path,"a+");
    fwrite($contenttxt, $_POST['content']);
    fclose($contenttxt);
    //以上三行等价于file_put_contents($contentpath,$content);  
    

    对于远程文件同样可以使用fopen()、fwrite()、fclose(),以下试一anonymous(匿名)形式链接的服务器;

    $file = fopen("ftp://你的IP或者域名/materials/65/content.txt",'w');
    fwrite($file, "123454");
    fclose($file);
    

    要以“anonymous”以外的用户名连接服务器,需要指明用户名(可能还有密码),例如“ftp://user:password@ftp.example.com/path/to/file”(也可以在通过需要
    Basic 认证的 HTTP 协议访问远程文件时使用相同的语法)。

    但由于我们文件服务器对于匿名链接的权限仅限于文件的读取,并没有写的权限,于是要使用用户名密码的形式链接到文件服务器,但是!!小编在这里还遇到了一个比较尴尬的问题,小编的password中含有@符号[捂脸],就不能将用户名密码直接在路径中登陆了(然而小编表示并不想修改密码),于是有了以下的一波神操作当然最后被证实不可行的操作。(***所以以下用分隔符分隔的一段可以忽略,只是小编对自己神操作的吐槽以及想问有没有大佬能解决密码里面含@的解决方法:)***)


    于是想到了先链接到文件服务器,再执行创建及写入的操作:)

    $connect = ftp_connect('IP','21') or die("FTP服务器连接失败");
    ftp_login($connect,'USER','PASSWORD') or die("FTP服务器登陆失败");
    ftp_pasv($connect,1); // 打开被动模拟
    $file = fopen($contentpath, 'w');
    fwrite($file,$content);
    fclose($file);
    //file_put_contents($contentpathGBK,$content);
    

    然而!fopen()等方法并不会理会你之前对文件服务器的链接,并不能进入文件服务器,更不要说新建文件还要忘里面写入内容了!!!!(此段是对自己的吐槽!)


    方案二
    对于方案一我觉得还是可行的(如果没有出现像我一样的小阻碍的话),但是我由于种种原因并没有采用方案一,而是选择绕道,即现在本地新建文件再将本地文件上传上去;

    //在本地临时文件夹新建文件,并写入内容
    $temp = fopen(sys_get_temp_dir().'\content.txt', 'w');
    fwrite($temp, "12345467778"); 
    $tempname = sys_get_temp_dir().'\content.txt';  //临时文件的路径
    //链接文件服务器,将新建的临时文件上传到文件服务器
    $connect = ftp_connect('IP','21') or die("FTP服务器连接失败");
    ftp_login($connect,'USER','PASSWORD') or die("FTP服务器登陆失败");
    ftp_put($connect,"content.txt",$tempname,FTP_BINARY);
    fclose($temp);
    ftp_close($connect);
    

    sys_get_temp_dir ( void ) : string
    返回 PHP 储存临时文件的默认目录的路径。

    以上方案二就是我在项目中用的方案,但在之前的经验中,有一个曾经用的方案,作为其它方案吧;

    其它方案
    方案一对小编的阻碍在于没能够往远程服务器上新建文件并写入内容,于是可以将执行保存的php文件直接放在文件服务器上,即可以将表单直接提交到文件服务器的执行保存的php文件上,该方案亲测可行!
    (但文件服务器毕竟是用于保存文件,不建议直接远程执行php文件。)

    2.修改及删除

    对于远程服务器上的文件的删除比较简单,可以直接使用ftp_delete()

    FTP方法可参考:
    http://www.w3school.com.cn/php/php_ref_ftp.asp

    <?php
    $conn = ftp_connect("ftp.testftp.com") or die("Could not connect");
    ftp_login($conn,"admin","ert456");
    
    echo ftp_delete($conn,"test.txt");
    
    ftp_close($conn);
    ?>
    

    对于修改内容,同理我的操作是:
    先将已经存在的文件删掉,再用方案二的创建及写入,上传新的文件即可达到修改的功能。

    以上是个人在做项目过程中遇到的问题,以及各种神操作的纪录,欢迎各路大佬指点,共同学习!

    展开全文
  • 按需要修改地址 cscript D:\ping.vbs www.baidu.com -t -l 1024 >> D:\baidu.txt
  • 这些 MEX 函数获取和设置 Windows 下文件的创建、访问和写入时间。 SetFileTime(文件名,规范,日期向量,类型) FileName:文件或文件夹名称,绝对或相对路径。 接受 Unicode 名称和 UNC 路径。 规格:字符串、...
  • 修改JobTracker源码,把JobTracker启动时间写入文件/private/jobtracker/starttime (hdfs文件系统); 只需替换hadoop-core-1.0.4.jar文件,然后重启系统集群即可,启动后就可以在hdfs文件系统看到/private/...
  • 您将学习如何读取文件写入文件写入文本文件以及检查文件是否存在。 幸运的是,PHP提供了许多功能来读取和写入数据到文件。 在本教程中,我将向您展示从本地或远程文件读取数据的最简单方法,以及如何使用标志...

    在本教程中,您将学习PHP中的一些重要功能,这些功能足以满足您所有基本的文件读写需求。 您将学习如何读取文件,写入文件,写入文本文件以及检查文件是否存在。

    幸运的是,PHP提供了许多功能来读取和写入数据到文件。 在本教程中,我将向您展示从本地或远程文件读取数据的最简单方法,以及如何使用标志按照我们想要的方式写入文件。

    检查文件是否存在

    尝试从文件中读取数据或向文件中写入内容时,第一步应该是检查文件是否已存在。 尝试从不存在的文件中读取数据将导致PHP发出警告,并可能使您的代码崩溃。

    检查文件是否存在的最简单方法是使用PHP file_exists($filename)函数。 如果存在具有给定$filename的文件或目录,则返回true ,否则返回false 。 这可能很明显,但是我想指出, $filename不必只是文件名。 它也可以是绝对路径或相对路径。 例如,我们可以使用prime_numbers.txtscience / project / periodic_table.txt

    同样重要的是要记住,对于由于安全模式限制而无法访问的文件,该函数也会返回false

    可以用来检查文件是否存在的另一个函数是is_file() 。 与file_exists()相反,如果指定的路径指向文件而不是目录,则此函数仅返回true

    确保文件实际存在

    如果您正在编写的代码对特定文件执行大量文件操作,则使用上述功能可能会得到错误的结果。 这是因为将file_exists()is_file()的执行结果都缓存了以提高性能。 PHP还可以缓存其他文件系统函数(如filesize()filemtime()filesize()返回的值。

    您可以调用clearstatcache()以确保您正在访问文件的任何信息都是最新的。

    通常,只有在单个脚本中多次访问同一文件以了解其状态时,这才是一个问题。 另外,如果您使用unlink()函数删除脚本中的文件,则将清除缓存的数据。 这基本上意味着您可能不会遇到任何与缓存有关的问题,但是仍然很高兴知道可以清除缓存以防信息过时或在尝试访问有关文件的信息时遇到意外结果。

    使用PHP从文件读取数据

    在PHP中从文件读取数据的最简单方法之一是借助file_get_contents($filename, $use_include_path, $context, $offset, $maxlen)函数。 它只会读取整个文件,并以字符串形式将其提供给您。 除第一个参数外的所有参数都是可选的。

    第二个参数接受一个布尔值,以确定是否应在包含路径指定的位置查找文件,可以使用set_include_path()函数设置该set_include_path()

    您可以使用第三个参数来指定一堆选项,以优化文件的访问方式。 您可以使用它来指定标头值,例如CookiesHost以及HTTP方法。

    $offset参数确定从原始文件开始读取的点。 提供负值将从头开始计数。 对负偏移量的支持仅在PHP 7.1.0中添加。 值得注意的是,偏移量仅适用于本地文件,而远程文件不支持。

    默认情况下, file_get_contents()函数一次读取整个文件。 您可以通过为$maxlen参数提供一个值来更改此行为。 从偏移值开始计算要读取的字符的长度。

    如果该函数无法从您指定的文件中读取数据,则将返回false 。 但是,它也可以返回计算为false值,因此请确保使用===运算符检查它是否实际上返回false。

    您可以使用此功能打开远程文件,但是只有在php.ini中 allow-url-fopen选项的值为true1 ,这才有可能。

    用PHP将数据写入文件

    在PHP中将数据写入文件的最简单方法之一是借助file_put_contents($filename, $data, $flags, $context)函数。

    $filename参数确定将在其中写入数据的文件。 第二个参数是您要写入文件的数据。 大多数情况下,它是一个字符串,但也可能是数组或流资源。

    请记住,PHP将自动为您创建一个具有给定名称的文件(如果尚不存在)。 但是,它不会为您创建任何目录。 这意味着您可以存储名称为On the Species of Species [Charles Darwin] .txt的文件,而不会出现任何错误。 但是,如果将$filename设置$filename Biology / Evolution / On the Species of Species [Charles Darwin] .txt ,如果Biology / Evolution /不存在,将导致错误。

    $flags参数确定如何将内容写入文件。 它可以具有以下三个值中的任何一个或全部:

    • FILE_USE_INCLUDE_PATH —这告诉PHP在include目录中搜索给定的文件名。
    • FILE_APPEND —这将告诉PHP将传递给函数的数据附加到文件中的现有数据。 如果您将数据存储在日志或个人日记之类的文件中,这可能会很有用。 记录今天发生的温度或事件等新数据不会覆盖您昨天记录的内容。
    • LOCK_EX —这将告诉PHP在开始向文件中写入内容之前先对其进行锁定。 当两个不同的脚本正在将数据读取或写入同一文件时,它可以防止发生意外情况。 使用此特定值,您将获得文件的排他锁。 您可以在flock()函数的PHP文档中阅读有关这些锁的更多信息。

    此函数返回成功时写入文件的字节数,失败时返回false 。 但是,您仍然必须使用严格相等运算符来检查其是否成功将内容写入文件。 这是因为将0字节写入文件的代码仍将评估为false。

    读写数据到文件

    您可以转到Project Gutenberg网站,并尝试使用file_get_contents()函数下载文件。 将数据存储在字符串中后,您也可以使用file_put_contents()函数将其存储在本地文件中。 以下示例将使这一点变得清楚:

    <?php
    
    $filename = 'http://www.gutenberg.org/cache/epub/1228/pg1228.txt';
    
    $book_content = file_get_contents($filename);
    file_put_contents('Biology/Evolution/On the Origin of Species [Charles Darwin].txt', $book_content, LOCK_EX);
    
    ?>

    您可以用类似的方式从Wikipedia之类的网站中保存网页或内容。 如果您需要了解HTML或解析刚刚保存在本地HTML内容,则可以遵循类似的教程,例如使用PHP使用DiDOM解析PHP ,它将帮助您自动获取链接,图像文件或任何其他此类信息。从网页。

    现在回到本地文件。 考虑这样一种情况:您有一堆文本文件,并且您想分析它们的内容以查看其中最常见的单词之类的内容。 使用一堆内置的PHP函数可以轻松实现这一点。

    <?php
    
    $filename = 'On the Origin of Species [Charles Darwin].txt';
    $book_content = file_get_contents($filename);
    
    $book_content_lowercase = strtolower($book_content);
    
    $individual_words = explode(' ', $book_content_lowercase);
    echo "There are about ".count($individual_words)." words in the book: ".substr($filename, 0, -4).".\n";
    
    $word_frequency = array_count_values($individual_words);
    echo "Total number of unique words in the book are ".count($word_frequency).".\n";
    echo "The word 'Elephant' occurs ".$word_frequency["elephant"]." times in the book.\n";
    echo "The word 'Ant' occurs ".$word_frequency["ant"]." times in the book.\n";
    
    if(isset($word_frequency["evolution"])) {
        echo "The word 'Evolution' occurs ".$word_frequency["evolution"]." times in the book.\n";
    } else {
        echo "The word 'Evolution' does not occur even once in the book.\n";
    }
    
    arsort($word_frequency);
    echo "The most used word in the book is: '".key($word_frequency)."'.\n";
    
    /* Output of all the code above
    
    There are about 147520 words in the book: On the Origin of Species [Charles Darwin].
    Total number of unique words in the book are 22758.
    The word 'Elephant' occurs 3 times in the book.
    The word 'Ant' occurs 6 times in the book.
    The word 'Evolution' does not occur even once in the book.
    The most used word in the book is: 'the'.
    ?>

    我们将所有文本都转换为小写,并假设每个单词都在空格处中断。 然后使用explode()将文本转换为数组,以使其更容易分析单个单词。 出乎意料的是,在给出进化论起源的整本书中,甚至没有使用过“进化”一词。

    这只是自动分析大量文本的一个示例。 您可以对文件中存储的任何类型的文本执行类似的操作。

    使用FILE_APPEND记录数据

    一个更有用的示例是在短时间内记录信息。 它可能是您的运动习惯,天气数据或您正在观察的蜂群。 一旦将数据存储在字符串中,就可以轻松地将其存储在文件中,并使用带有file_put_contents()FILE_APPEND标志将其追加到现有数据中。

    <?php
    
    $filename = "bee-colony.txt";
    
    $present = date('l | jS \of F Y h:i:s A', time());
    $entry = $present."\n";
    
    // A pseudo function which could be replaced with something real.
    $bee_information = gather_bee_data();
    $entry .= "$bee_information.\n\n";
    
    file_put_contents($filename, $entry, FILE_APPEND|LOCK_EX);
    
    ?>

    类似的代码可用于将Wikipedia的每日精选文章每天存储在文件中,或者在数周或数月的时间内跟踪新闻报道和头条新闻。 您所需要做的就是编写代码以抓取数据,然后使用类似于上述代码片段的方式存储数据。 诸如使用PHP使用DiDOM解析HTML的教程可以帮助您进行抓取。

    您可以将其包装为一些HTML,以使其更易于在浏览器中阅读,而不必以纯格式编写文本。 可能性是无止境。

    最后的想法

    还有许多其他方法可以在PHP中读取和写入数据到文件。 但是, file_get_contents()file_put_contents()将满足您几乎所有的基本需求,而不会增加不必要的复杂性。

    当您正在读取的文件非常大(例如2GB或更大file_get_contents()时,您可能唯一一次遇到file_get_contents()问题。 这是因为file_get_contents()将整个文件加载到内存中,并且很大的机会很可能耗尽如此大的文件。 在这种情况下,您将不得不依靠fgets()fread()之类的功能一次读取文件的一小部分。

    翻译自: https://code.tutsplus.com/tutorials/reading-and-writing-data-to-files-in-php--cms-32117

    展开全文
  • 通过VFS对文件进行一些操作,包括写入、读取文件,判断文件是否可读可写等
  • linux文件无法写入

    2021-05-27 18:10:48
    运行代码的时候需要写入文件的操作,运行完代码也没有报错,但是打开文件是空的,输出也没问题就是不能写入,代码也不报错。。。 可能的原因:你的文件是只读文件(read only),尝试修改文件权限就可以了。(chmod ...

    运行代码的时候需要写入文件的操作,运行完代码也没有报错,但是打开文件是空的,输出也没问题就是不能写入,代码也不报错。。。

    可能的原因:你的文件是只读文件(read only),尝试修改文件权限就可以了。(chmod 666 example.txt)

    展开全文
  • Ruby学习之文件写入和读取

    千次阅读 2019-01-03 11:08:59
    来向文件写入内容。当使用方法 syswrite 时,我们需要以写入模式打开文件: #!/usr/bin/ruby aFile = File.new("input.txt", "r+") if aFile aFile.syswrite("1") else puts "Unable to open file!" end ...
  • csv文件写入和编码问题

    千次阅读 2019-11-08 09:04:47
    解决方法: 指定文件编码为 gb18030 在写入csv文件后发现编码有问题也可以指定编码为gb18030来解决 with open('data.csv', 'a+', encoding = 'gb18030') as f: 运行程序,无报错。 此方法同样适用文件出现乱码的...
  • 最近现网出了点问题,到现网查了下日志,发现文件写入本地磁盘时大量报错,查看文件和文件夹权限没有问题; df -h 看了下磁盘空间还剩余160G,也没有问题。 手工创建文件,echo abc > test.txt失败,报没有磁盘...
  • android 自定义日志写入文件

    千次阅读 2019-02-26 16:54:27
    上一篇我记录过是全局获取异常的日志写入文件中,便于查看查看全局获取异常日志,这篇主要是记录自定义需要记录的日志写入txt文本,比如:我们接口请求时总有意外,请求是否成功或者是否有返回的数据,避免与其他...
  • 文章目录1.新建一个文档,名为zhl.txt2.判别指定路径下指定文件名的文件是否存在。(例如文件:E:/java task/zhl.txt)3.如果指定文件存在,读取并...以文本方式向某一指定路径指定文件名的文本文件写入指定文本内...
  • 大数据 域天加密狗读取和 写入数据,修改数据。 域天加密狗读取和 写入数据,修改数据 域天加密狗。
  • hadoop 启动时间写入文件

    千次阅读 2013-12-20 14:31:36
    昨天看了源码,说到可以使用log信息来打印出来JobTracker的启动时间,然后来解析这个Log文件,但是这里有个问题,就是log文件是在hadoop的主节点namenode的linux机器中的,不是在客户端,读取会有一定的问题,然后就...
  • } 经网友提问说这个进入死循环后时间没法写入到文档中,网上查到:不调用fclose,可能会有一部分数据在缓存里~ 因在while(1)中没有调用 fclose( ) ,因此缓冲区内的数据不会写入文件中。故调用强制刷新函数 ...
  • 批量修改文件创建时间 文件是数据在磁盘上最常用的一种存放形式,也是在程序设计中与之经常打交道的一种编程对象,不少程序尤其是数据传输和处理类的应用程序更是需要频繁的创 建、读取和写入文件。对于一些要求...
  • 已经验证过jsonpaquet等数据格式写入,在本地磁盘生成了文件。要注意的是要注意导入依赖: package flinksql; import org.apache.flink.streaming.api.datastream.DataStream; import org.apache.flink....
  • //获取文件属性创建时间、访问时间修改时间 //这里的CreateFile只导致文件只能被只读打开,不能有其他权限,最好用FindFile获取创建,修改和访问时间 void get_file_create_modify_access_time() { std_string ...
  • cell2file 将字符串或数字元胞数组写入文件==这个函数是通过修改我在FEX中找到的文件str2file.m获得的。== 最后修改时间:2008/01/09 (yyyy/mm/dd)。 语法:cell2file(fid,cell,....) 其中 ... 的格式为 ...
  • spark写入hdfs文件文件解决办法

    千次阅读 2019-01-26 11:18:21
    我们在使用spark写入hdfs文件时,会经常由于partition的数目问题,导致最后保存在hdfs中时产生了很多小文件,之前也用过repartition的方法,但是会出现虽然会大量减少生成文件的数目,但是会使得最后保存文件这一步...
  • 今天解决了一个困扰一上午的问题,进程打开文件进行写入时,使用vim打开文件进行写入导致fd文件描述符失效https://www.douban.com/note/592324007/一、bug描述dpi v5程序在运行一段时间过后,程序的server日志不生成了....
  • Windows下使用C/C++修改文件时间

    千次阅读 2018-09-04 21:08:52
    具体为什么要修改文件时间就不去纠结了,感兴趣的可以去做个问卷调查,也可以自行脑补,反正经常有小伙伴问怎么去修改文件时间。 最简单的解决方案 文件时间作为文件的属性,当然是由文件的编辑工具生成或修改...
  • C语言产生随机数并写入文件

    万次阅读 多人点赞 2019-03-01 16:33:01
    在C语言中,我们一般使用 &lt;stdlib.h&gt; 头文件中的 rand() 和srand()函数来生成...可以在调用rand()函数之前调用srand( (unsigned)time( NULL ) ),这样以time函数值(即当前时间)作为种子数,因为...
  • mtime(modification time):“内容数据”最近一次修改时间。内容数据指文件的内容,不是文件的属性或权限。 atime(access time):文件的最近一次读取时间。例如使用cat读取文件内容。 ctime(status time):...
  • Linux系统当进行文件写操作时,并不会将数据立马写入磁盘,而是写写到缓存,等待达到占用内存一定比例或超过一定时间才会批量将这些缓存数据写入磁盘,这样可以减少IO操作,提升性能和磁盘寿命。如果数据还没来得及...
  • fatfs文件多次写入

    千次阅读 2019-03-01 09:59:38
    移植好fatfs文件系统之后,我们经常要在一个txt文件写入数据,但是这些数据可能需要多次写入,那怎么办呢? 通过这几天的学习,有以下函数可以帮助我们进行多次写入数据。 1.打开文件 f_open(filescr1, "0:/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 517,864
精华内容 207,145
关键字:

文件写入时间修改