Comment faire pour rendre un dossier caché en utilisant java

je veux créer un dossier caché en utilisant l'application java. Ce programme devrait fonctionner sur plusieurs plateformes. Alors comment écrire un programme qui peut créer un dossier caché.

j'ai essayé d'utiliser

File newFile = new File("myfile");
newFile.mkdir();

Il crée un répertoire qui n'est pas caché.

15
demandé sur Jørn Schou-Rode 2010-01-04 16:08:46

7 réponses

Le concept de fichiers/dossiers cachés est très spécifique à L'OS et n'est pas accessible via L'API Java.

dans Linux, les fichiers et dossiers dont le nom commence par un point sont cachés par défaut dans de nombreux programmes - faire cela est facile.

dans Windows, "hidden" est un drapeau spécial stocké dans le système de fichiers. Il n'y a pas D'API Java pour la modifier; vous pouvez utiliser Runtime.exec() exécuter attrib la commande.

15
répondu Michael Borgwardt 2010-01-04 13:39:11

si vous utilisez Java 7 vous pouvez utiliser le nouveau java.nio.file.attribute package:

Path path = FileSystems.getDefault().getPath("/j", "sa");
Files.setAttribute(path, "dos:hidden", true);

Voir plus d'info à http://download.oracle.com/javase/tutorial/essential/io/fileAttr.html

Ou, si vous utilisez une ancienne version de Java et/ou de vouloir le faire à l'aide de Runtime, essayez ceci:

Process process = Runtime.getRuntime().exec("cmd.exe /C attrib -s -h -r your_path"); 

Voir plus d'informations sur cmd et atrib.

29
répondu Pål Brattberg 2011-09-20 08:22:39

sous *nix vous venez de renommer le fichier de sorte que

filename = ".".filename;
7
répondu user242294 2010-01-04 13:14:19

Pour faire un fichier ou d'un répertoire caché sous Unix, son nom doit commencer par une période (.).

Pour faire un fichier caché sous Windows, vous devez définir le "caché" bit dans ses attributs. La bibliothèque Java standard n'offre pas cette possibilité (bien qu'il y ait un file.isHidden() méthode), et je ne connais aucun outil qui le fait.

5
répondu Carl Smotricz 2010-01-04 13:12:44

vous pourriez utiliser une certaine forme d'un modèle d'usine pour vos besoins de transformation de plaques. Mais ce que tout le monde dit. Je crains que vous ne puissiez pas tout à fait le faire plop avec une ligne de code, comme je peux juste sentir que vous le voulez. Mes condoléances.

3
répondu Ritwik Bose 2010-01-04 13:20:39

c'est OS d'emploi (et vous OS patron de cours ). Mais vous pouvez exécuter la commande atrib (Windows) et dire à OS(Windows) que vous voulez faire un dossier "caché".

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();
          }

    }
}
3
répondu Michel Gokan 2010-01-04 16:19:58

Essayez les étapes suivantes :

 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
0
répondu heemal hacker 2014-08-21 08:47:44