J'ai déjà téléchargé beaucoup de vidéos en ligne. Après les avoir décompressés, j'ai constaté qu'il y avait une longue liste d'URL devant chaque fichier, ce qui ne m'a pas pu voir clairement quel était le nom de chaque vidéo.
J'ai cherché des méthodes de changement de nom en ligne, mais aucun d'entre eux n'était ce que je voulais. Comme c'est le cas, j'en écrivais un à Java par moi-même. Je l'ai testé et ça devrait aller, et je le partagerai maintenant.
Téléchargez d'abord le code:
import java.io.File;import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;/*** Rename rule class* @author jack*/class ReplacementChain{private Map<String,String> map;public ReplacementChain() {this.map = new HashMap<String, String>();}public Map<String, String> getMap() {return map;}// Add new replacement rule (string replacement) public ReplacementChain addRegulation(String oldStr , String newStr){this.map.put(oldStr, newStr);return this;}}/*** Rename class* @author Jack*/public class Rename {/*** Batch rename* @param path* @param replacementChain*/public static void multiRename(String path, remplacementChain remplacementChain) {file file = new file (path); boolean isdirectory = file.isdirectory (); / ** s'il n'est pas un dossier, return * * / if (! isDirectory) {System.out.println (path + "pas un dossier!"); RETOUR;} String [] file = file.list (); file f = null; string = "string [] file = file.List (); file f = null; OldFileName = ""; // Nom précédent / ** Loop via tous les fichiers * * / for (String FileName: fichiers) {oldFileName = FileName; map <string, string> map = remplacementchain.getmap (); for (entrée <string, string> entrée: map.entryset ()) {filename = filename.replace (grenot.getkey (), entrée.getvalue ()); OldFilename); // L'adresse de sortie est cohérente avec le chemin d'origine f.renameto (nouveau fichier (path + "//" + nom de fichier));} System.out.println ("Félicitations, le renommage par lots a réussi!");} Public static void main (String [] args) {}}Comment utiliser:
Si j'ai maintenant un dossier avec plusieurs fichiers TXT à l'intérieur, le tout avec un préfixe et un suffixe très longs.
Maintenant, je veux supprimer tous leurs préfixes;
La première étape consiste à créer une nouvelle instance de la classe de remplacement dans la méthode principale, qui est une classe de règles. L'essentiel est de définir des règles de remplacement.
RemplacementChain ReplacementChain = nouveau remplacementChain ();
Étape 2: Ajouter de nouvelles règles de remplacement
Le nom complet du premier fichier:
[Je suis un très long préfixe] ~~~~~ Novel 001 (je suis Mengmenng Little Tail) .txt
Nous espérons supprimer [je suis un très long préfixe] ~~~~ et (je suis la petite queue de Mengmeng), et ajoutez simplement deux règles de remplacement à Remplacechain.
remplacementChain.addrégulement ("【Je suis un préfixe très long】 ~~~~~", "") .AddDregulation ("(Je suis la petite queue de Mengmeng)," ");
AddRegulation prend en charge les appels de chaîne.
Étape 3: Appelez la méthode de changement de nom par lots
Rename.MultiRename ("F: // Folder de test", remplacementChain);
Passer deux paramètres. Le premier est le chemin du dossier où le fichier doit être traité par lots, et le second est l'objet RemplaceChain.
courir
Si la console est imprimée: Félicitations, le renommage par lots réussit!
Alors cela signifie le succès.
Les fichiers que j'ai localement ont été renommés par lots:
Ce qui précède est le renommage par lot de fichiers Java et le test personnel disponible (version Lite) introduite par l'éditeur. J'espère que ce sera utile à tout le monde. Si vous avez des questions, veuillez me laisser un message et l'éditeur répondra à tout le monde à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!