Как сделать папку скрытой с помощью 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