我想使用java應用程序創建隱藏文件夾。該計劃應該跨平臺運作。那麼如何編寫一個可以創建隱藏文件夾的程序。如何使用java隱藏文件夾
我一直在使用
File newFile = new File("myfile");
newFile.mkdir();
它創建爲非隱藏的目錄嘗試。
我想使用java應用程序創建隱藏文件夾。該計劃應該跨平臺運作。那麼如何編寫一個可以創建隱藏文件夾的程序。如何使用java隱藏文件夾
我一直在使用
File newFile = new File("myfile");
newFile.mkdir();
它創建爲非隱藏的目錄嘗試。
隱藏文件/文件夾的概念是非常特定於操作系統和通過Java API不能訪問。
在Linux中,許多程序默認情況下隱藏名稱以點開頭的文件和文件夾 - 這很容易。
在Windows中,「隱藏」是存儲在文件系統中的特殊標誌。沒有用於更改它的Java API;您可以使用Runtime.exec()
來運行attrib命令。
雖然這個工程,我建議你使用下面提到的帕爾的Java 7方法訴諸運行時間破解(在進行運行時間破解之前檢查並確認它是windows) – 2013-02-05 22:34:25
要在Unix下隱藏文件或目錄,其名稱需要以句點(.
)開頭。
要在Windows下隱藏文件,您需要在其屬性中設置「隱藏」位。 Java標準庫不提供此功能(雖然有file.isHidden()
方法),並且我不親自知道任何工具。
下* nix中你只需重命名文件,以便
filename = ".".filename;
您可以使用某種形式的工廠模式來滿足您的交叉平臺需求。但是其他人都說。我擔心你不能用一行代碼完成它,因爲我可以只是覺得你想要它。節哀順變。
這是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();
}
}
}
在退出代碼之前需要等待進程退出。 'proc.waitFor()'應該用來代替'proc。exitValue()',因爲後者導致'IllegalThreadStateException:進程沒有退出' – 2012-10-14 16:29:44
如果您使用的是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");
嘗試以下步驟:
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
我可以問一下你爲什麼需要這個?你知道隱藏在不同的操作系統中是不同的概念嗎? – 2010-01-04 13:15:33
重複:http://stackoverflow.com/questions/1294989/make-a-file-folder-hidden-on-windows-with-java – 2010-01-04 13:15:42