gpt4 book ai didi

java - 修改Java中的隐藏文件

转载 作者:搜寻专家 更新时间:2023-11-01 01:38:50 25 4
gpt4 key购买 nike

我有一个用户下载的文件,然后我在 java 中执行一个命令来隐藏该文件:

Runtime.getRuntime().exec("attrib +H myFile.txt");

现在我需要访问那个隐藏文件,但是我得到了

java.io.FileNotFoundException: myFile.txt (Access is denied)

如果文件没有被隐藏,这会起作用,但文件需要被隐藏,这样用户就不会修改它。那么我该如何修改隐藏文件呢?在 Java 中有什么方法可以做到这一点吗?

感谢您的想法。

最佳答案

我同意 Dolph 的观点,但是您也可以考虑使用隐藏文件的替代方法。首先是您现在依赖于 (Windows)“attrib”命令。其次,仅仅因为一个文件被标记为隐藏并不意味着用户不能看到或修改它(我将我的机器设置为始终显示隐藏文件)。作为替代方案,您可以考虑使用标准目录位置和文件命名约定。例如,在 Windows 中,放置应用程序数据的标准位置是文件夹“应用程序数据”。您可以使用系统属性“user.home”找到此文件夹:

System.out.println(System.getProperty("user.home"));
//prints out something like C:\Documents And Settings\smithj

您可以使用它来创建您自己的应用程序数据文件夹:

//For Windows
File appDataDir = new File(System.getProperty("user.home"), "Application Data\\MyWidgetData");

类似地,在 *nix 环境中,应用程序通常将其数据保存在主目录中的 .xyz 目录中:

//*nix OSes
System.out.println(System.getProperty("user.home"));
//prints out something like /user/home/smithj
File appDataDir = new File(System.getProperty("user.home"), ".MyWidgetData");

您可以查看属性 os.name 以确定您正在运行的环境,并据此构建正确的路径。

关于java - 修改Java中的隐藏文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2875280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com