Cet article décrit la méthode de conversion de fichiers de cache temporaire de la musique kugou en fichiers MP3 en Java. Partagez-le pour votre référence, comme suit:
Le fichier de cache temporaire de Kugou est en fait déjà téléchargé des fichiers MP3, mais le nom semble être renommé via l'algorithme MD5.
Kugou mettra en cache les paroles en même temps lorsque les fichiers mis en cache. Ce programme gère les paroles et les fichiers de cache correspondants basés sur MD5, puis modifie le fichier de cache au format de nom de chanson + .mp3.
Pardonnez-moi d'avoir pris un nom de classe aussi long.
package com.zhou.run; importer java.io.file; import java.util.hashmap; import java.util.map; classe publique kugoutempfiletomp3andModifyNameTotruename {public static string kgtemp = ".kgtemp"; chaîne statique publique krc = "krc"; public void change (String temppath, String krcPath) {file temp = new File (temppath); Fichier krc = nouveau fichier (krcpath); if (temp.exists () && temp.getName (). Endswith (kgTemp)) {string filename = temp.getName (); String fileMd5 = filename .SubString (0, filename.LastIndexof (kgTemp)); if (! krc.exists ()) retour; String krcname = krc.getName (); String krcmd5 = krcname.substring (krcname.lastIndexof ("-") + 1, krcname.lastIndexof (krc) - 1); String mp3Name = krcName.SubString (0, krcname.lastIndexof ("-")); if (krcmd5.equals (fileMd5)) {String path = temp.getPath (). substring (0, temp.getPath (). LastIndexof ("//")); Fichier mp3File = nouveau fichier (path + "//" + mp3Name + ".mp3"); temp.renameto (mp3file); } System.out.println (nom de fichier + "" + fileMd5); System.out.println (krcname + "" "+ mp3Name +" "+ krcmd5);}} public void ChangeByDir (String temppath, String krcpath) {map <string, file> tembs = filemd5map (TEMPPATH); map <string, string> mp3Names = krcNamemd5map (krcpath); for (String> kea : TEMPS.KEYSET ()) {File F = TEMPS.get (Key); if (f.renameto (mp3file)) {System.out.println (f.getName () + "à" + mp3File.getName (); (dirfile.isdirectory ()) {map = new hashmap <string, file> (); filename.lastIndexof (kgTemp)); Map <string, string> map = null; if (dirfile.isdirectory ()) {map = new hashmap <string, string> (); for (file f: dirfile.listfiles ()) {if (f.exists () && f.isfile () && f.getName (). Endswith (krc)) {string krcname = f.getName (); if (! krcname.contains ("-")) continue; String krcmd5 = krcname.substring (krcname.lastIndexof ("-") + 1, krcname.lastIndexof (krc) - 1); String mp3Name = krcName.SubString (0, krcname.lastIndexof ("-")); map.put (krcmd5, mp3Name); }} retour de retour; }} public static void main (String [] args) {kugoutempFileTomp3AndModifyNameTotrUename ktf = new kugoutempFileTomp3AndModifyNameTotRuename (); / * String temppath = "d: /kugou/mp3/2fad259e357078e89404be12e1fd7ae3.kgTemp"; String krcpath = "d: / kugou / lyric / jay chou, yuan yonglin-ce qui est le mauvais 2fad259e357078e89404be12e1fd7ae3.krc"; ktf.change (temppath, krcpath); * / string tempdir = "d: / kugou / mp3"; String krcdir = "d: / kugou / lyric"; ktf.changebydir (tempdir, krcdir);}La méthode Change (String, String) est uniquement utilisée pour les tests. Ajuster les chaînes ou quelque chose
Utilisez principalement la méthode ChangeBydir, les paramètres sont des dossiers de fichiers temporaires et de dossiers de fichiers de paroles
Pour plus d'informations sur les algorithmes Java, les lecteurs qui sont intéressés par ce site peuvent afficher les sujets: "Structure de données Java et tutoriel d'algorithme", "Résumé des conseils de nœud de Dom Operation Java", "Résumé du fichier Java et des conseils d'opération de répertoire" et "Résumé des conseils d'opération Java Cache"
J'espère que cet article sera utile à la programmation Java de tous.