Как сделать папку скрытой с помощью java
Я хочу создать скрытую папку с помощью java-приложения. Эта программа должна работать на платформе. Итак, как написать программу, которая может создавать скрытую папку.
Я пробовал использовать
File newFile = new File("myfile");
newFile.mkdir();
Создает каталог, который не скрыт.
Ответы
Ответ 1
Концепция скрытых файлов/папок очень специфична для ОС и недоступна через Java API.
В Linux файлы и папки, чье имя начинается с точки, скрыты по умолчанию во многих программах - это легко.
В Windows "скрытый" - это специальный флаг, хранящийся в файловой системе. Для его изменения нет Java API; вы можете использовать Runtime.exec()
для запуска команды attrib.
Ответ 2
Если вы используете 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.
Ответ 3
под * nix вы просто переименовываете файл, чтобы
filename = ".".filename;
Ответ 4
Чтобы сделать файл или каталог скрытым под Unix, его имя должно начинаться с периода (.
).
Чтобы сделать файл скрытым под Windows, вам нужно установить бит "hidden" в его атрибутах. Стандартная библиотека Java не предлагает эту возможность (хотя есть метод file.isHidden()
), и я не знаю, какой инструмент это делает.
Ответ 5
Вы можете использовать некоторую форму шаблона factory для ваших потребностей кроссплатформенности. Но все остальные сказали. Боюсь, вы не можете заставить его выпрыгнуть с одной строкой кода, так как я просто чувствую, что вы этого хотите. Мои соболезнования.
Ответ 6
эта работа ОС (и, конечно же, вы - босс ОС). Но вы можете выполнить команду attrib (Windows) и сообщить OS (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();
}
}
}
Ответ 7
Попробуйте выполнить следующие шаги:
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