L'idée est née de la stéréo de voiture de mon père n'est pas là un iPod Shuffle. Ensuite, j'ai pensé

Comme il ne randomize pas bien, pourquoi ne pas amener les noms des fichiers déjà randomisés?

J'ai décidé de ne pas prendre de temps en Java, et lui a donné là:

RandomFiles.java

 / RandomFiles.java * * * Copyright (C) 2009 Vítor Avelino * logiciel * Ce programme est gratuit: vous pouvez le redistribuer et / ou le modifier * selon les termes de la licence publique générale GNU telle que publiée par * the Free Software Foundation, soit la version 3 de la licence, ou * (à votre choix) toute version ultérieure. * * Ce programme est distribué dans l'espoir qu'il sera utile, * mais SANS AUCUNE GARANTIE; sans même la garantie implicite de * COMMERCIALISATION ou D'ADAPTATION UN USAGE PARTICULIER.  * Voir la GNU General Public License pour plus de détails. * * Vous devriez avoir reçu une copie de la GNU General Public License * along with this program.  Sinon, consultez le <http://www.gnu.org/licenses/>. * / Import java.io.File; java.util.Random public class RandomFile (private static Random randomiseur = new Random (); / ** * Randomize les fichiers d'un répertoire spécifique. * * @ param répertoire Le répertoire qui aura son fichier renommé * @ param subdir <code> true </ code> si les fichiers de sous-répertoires "être renommé * <code> false < / code> si elle n'est pas nécessaire de renommer les fichiers sous-répertoires "* / public static void randomize (répertoire String, includeSubDirs Boolean) (File dir = new File (répertoire) if (! dir.isDirectory () | |! dir.exists () ) (System.err.println (directory + "n'est pas un répertoire ou n'existe pas!"); System.exit (-1);) System.out.println ( "Starting ..."); navigateInDirectories renommer aléatoire (dir , includeSubDirs) System.out.println ( "Finished navigateInDirectories privé !");) static void (File dir, includeSubDirs Boolean) (fichier renommé = null; randomNumber int = 0; for (File f: dir.listFiles ()) (do (randomizer.nextInt randomNumber = ();) while (randomNumber <= 0) if (! f.isDirectory ()) (rebaptisé = new File (FileUtil.getPath (F) + + randomNumber FileUtil.getExtension (f) ); f.renameTo (renommé); System.out.println (">>> "f.getName + () +" rebaptisée "+ + randomNumber FileUtil.getExtension (f));) else if (includeSubDirs) (System . out.println ( "-" + f.getName () + file.separator); navigateInDirectories (f, includeSubDirs );)))) 

FileUtil.java

 / FileUtil.java * * * Copyright (C) 2009 Vítor Avelino * logiciel * Ce programme est gratuit: vous pouvez le redistribuer et / ou le modifier * selon les termes de la licence publique générale GNU telle que publiée par * the Free Software Foundation, soit la version 3 de la licence, ou * (à votre choix) toute version ultérieure. * * Ce programme est distribué dans l'espoir qu'il sera utile, * mais SANS AUCUNE GARANTIE; sans même la garantie implicite de * COMMERCIALISATION ou D'ADAPTATION UN USAGE PARTICULIER.  * Voir la GNU General Public License pour plus de détails. * * Vous devriez avoir reçu une copie de la GNU General Public License * along with this program.  Sinon, consultez le <http://www.gnu.org/licenses/>. * / Import java.io.File; public class FileUtil (/ ** * Renvoie juste le chemin d'un fichier en tant que chaîne de caractères. * * @ Param f Le fichier que vous avez extrait le path * @ return Le chemin d'un fichier * / public static String getPath (File f) (String f.getAbsolutePath absolutePath = (); absolutePath.substring return (0, absolutePath.lastIndexOf (file. separator) + 1);) / ** * Retourne l'extension d'un fichier. * * @ param Le fichier qui aura l'extension extraites <code> * @ return null </ code> si l'extension du fichier ne existent, <code> extension </ code> si le fichier a une * / public static String getExtension (File f) (String name = f.getName (); retour name.substring (name.lastIndexOf ('.')); )) 

Le formulaire est simple à utiliser, voici un exemple ci-dessous:

 RandomFiles.randomize ( "D: \ test \", false);
 RandomFiles.randomize ( "D: \ test \", true);

Pour le premier appel la sortie est:

Initialisation aléatoire renommer ...
>>> Arquivo1.PDF rebaptisé 538981388.PDF
>>> Arquivo2.doc rebaptisé 65861820.doc
>>> Arquivo3.html rebaptisé 210904720.html
C'est fini!

Pour le deuxième appel à la sortie est:

Initialisation aléatoire renommer ...
>>> 210904720.html 668609286.html rebaptisé
>>> 538981388.PDF rebaptisé 573146098.PDF
>>> 65861820.doc rebaptisé 417987190.doc
- Sous \
>>> Arquivo4.PDF rebaptisé 233716363.PDF
>>> Arquivo5.doc rebaptisé 657621617.doc
>>> Arquivo6.html rebaptisé 118165004.html
C'est fini!

Les messages sortants sont uniquement utilisés pour surveiller la mise en œuvre du programme.

J'espère que c'est utile à quelqu'un comme elle était pour moi. Lorsque vous avez le temps je ferai une version de Python et / ou Shell-Script, et aussi installer un OS décent (par exemple, a vu la poubelle, non?) Ici, dans le PC de la maison de mes parents.

Vacances! : ~

import java.io.File;
import java.util.Random public class RandomFile (private static randomiseur Random = new Random (); public static void randomize (répertoire String, includeSubDirs Boolean) (
File dir = new File (répertoire);
if (! dir.isDirectory () | |! dir.exists ()) (
System.err.println (directory + "n'est pas un répertoire ou n'existe pas!");
System.exit (-1);
)

System.out.println ( "Starting ..."); aléatoires renommage
navigateInDirectories (dir, includeSubDirs);
System.out.println ( "C'est fini!");
)

privé navigateInDirectories static void (File dir, includeSubDirs Boolean) (
Fichier renommé = null;
randomNumber int = 0;

for (File f: dir.listFiles ()) (
faire (
randomNumber randomizer.nextInt = ();
) Alors que (randomNumber <= 0);

if (! f.isDirectory ()) (
rebaptisé = new File (FileUtil.getPath (F) + + randomNumber FileUtil.getExtension (f));
f.renameTo (renommée);
System.out.println (">>> "f.getName + () +" rebaptisée "+ + randomNumber FileUtil.getExtension (f));
) Else if (includeSubDirs) (
System.out.println ( "-" + f.getName () + file.separator);
navigateInDirectories (f, includeSubDirs);
)
)
)

public static void main (String [] args) (
RandomFiles.randomize ( "D: / test", false);
)

)

Share:

  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • FriendFeed
  • Identi.ca
  • LinkedIn
  • Netvibes
  • Rec6
  • Reddit
  • RSS
  • StumbleUpon
  • Twitter
  • Mixx
  • Technorati

Articles connexes: