如何使用java隐藏文件夹
我想使用java应用程序创建一个隐藏文件夹。 该计划应该跨平台工作。 那么如何编写一个可以创建隐藏文件夹的程序。
我试过用
File newFile = new File("myfile"); newFile.mkdir();
它创建一个未隐藏的目录。
隐藏文件/文件夹的概念非常特定于操作系统,无法通过Java API访问。
在Linux中,名称以点开头的文件和文件夹在许多程序中默认是隐藏的 – 这样做很容易。
在Windows中,“隐藏”是存储在文件系统中的特殊标志。 没有用于更改它的Java API; 您可以使用Runtime.exec()
来运行attrib命令。
如果您使用的是Java 7,则可以使用新的java.nio.file.attribute
包,如下所示:
Path path = FileSystems.getDefault().getPath("/j", "sa"); Files.setAttribute(path, "dos:hidden", true);
有关详细信息,请访问http://download.oracle.com/javase/tutorial/essential/io/fileAttr.html
或者,如果您使用的是旧版本的Java和/或想要使用Runtime
来执行此操作,请尝试以下操作:
Process process = Runtime.getRuntime().exec("cmd.exe /C attrib -s -h -r your_path");
查看有关cmd和attrib的更多信息。
在* nix下你只需重命名文件即可
filename = ".".filename;
要在Unix下隐藏文件或目录,其名称需要以句点( .
)开头。
要在Windows下隐藏文件,您需要在其属性中设置“隐藏”位。 Java标准库不提供此function(尽管有一个file.isHidden()
方法),并且我不会随便知道任何工具。
您可以使用某种forms的工厂模式来满足您的跨平台需求。 但其他人都说。 我担心你不能用一行代码完成它,因为我只能觉得你想要它。 节哀顺变。
这是OS工作(当然你是OS老板)。 但您可以执行attrib(Windows)命令并告诉操作系统(Windows)您要将文件夹设置为“隐藏”。
public class Main { public static void main(String[] args) { try { Runtime rt = Runtime.getRuntime(); //put your directory path instead of your_directory_path Process proc = rt.exec("attrib -s -h -r your_directory_path"); int exitVal = proc.exitValue(); } catch (Throwable t) { t.printStackTrace(); } } }
请尝试以下步骤:
1. make a folder with extension **.jad** and move your videos,photos, etc on that folder.. 2. now create same folder with extenson **.jar** (ex- if u create videos.jad then create videos.jar) 3. finished .. Videos.jad will hide .. Delete the .jar .jad will come again