【问题标题】:How to change File modification date without using System.IO如何在不使用 System.IO 的情况下更改文件修改日期
【发布时间】:2018-06-06 08:28:36
【问题描述】:

我正在 Unity 中编写代码,我想更改文件修改日期。为此,我使用File.SetLastWriteTime 方法。它工作正常,但在某些 android 版本上它根本不起作用,并给我一个错误IOException: Invalid parameter。我用谷歌搜索了它,这似乎是一些未解决的错误,因为有很多人报告了相同的情况。

我的问题是:是否有其他库或不同的方式可以使用 C# 更改上次修改日期?

编辑:我需要保留原始修改日期。该文件正在从 Amazon S3 下载,但修改日期设置为文件保存在设备上的确切时间。这就是为什么我下载后尝试做File.SetLastWriteTime(file, original_date)

【问题讨论】:

    标签: c# .net unity3d system.io.file


    【解决方案1】:

    在 Synology NAS 上通过单声道使用 SetLastWriteTime 时,对于某些任意文件,我看到相同的情况 - 某些文件因“无效参数”IOExceptions 而失败。

    在深入研究之后,我发现这是一个权限/所有权问题 - 使用 sudo 运行同样的事情。

    【讨论】:

      【解决方案2】:

      检查以下代码:

      string fileName = @"E:\test.txt";
      File.SetLastWriteTime(fileName, DateTime.Now);
      

      我为修改日期拍摄了快照。在运行代码之后和之前。您将再次检查给定的路径。

      【讨论】:

      • 这是真的,请阅读我的帖子:它在 Windows 上运行没有问题。不幸的是,这种方法不适用于某些安卓设备。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-30
      • 2013-09-10
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      • 1970-01-01
      相关资源
      最近更新 更多