如何在不使用System.IO的情况下更改文件修改日期

时间:2018-06-06 08:28:37

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

我在Unity中编写代码,我想更改文件修改日期。对于那个purpouse我使用File.SetLastWriteTime方法。它工作正常,但在一些Android版本它只是不起作用,并给了我一个erorr IOException: Invalid parameter。我用谷歌搜索了它,似乎是一些未解决的错误,因为有多少人报告了这一点。

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

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

的原因

2 个答案:

答案 0 :(得分:0)

检查以下代码:

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

Before run the code

After run the code

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

答案 1 :(得分:0)

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

深入研究它后,我发现这是一个权限/所有权问题-使用sudo运行相同的东西是可行的。