이 기사에서는 Kugou Music 임시 캐시 파일을 Java의 MP3 파일로 변환하는 방법에 대해 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
Kugou 임시 캐시 파일은 실제로 이미 MP3 파일을 다운로드했지만 MD5 알고리즘을 통해 이름이 바뀌는 것 같습니다.
Kugou는 파일을 캐시 할 때 동시에 가사를 캐시 할 것입니다. 이 프로그램은 MD5를 기반으로 해당 가사 및 캐시 파일을 관리 한 다음 캐시 파일을 노래 이름 +.mp3 형식으로 변경합니다.
그런 긴 수업 이름을 가져간 것에 대해 저를 용서하십시오.
package com.zhou.run; import java.io.file; import java.util.hashmap; import java.util.map; public class kugoutempletomp3andmodifynametotruename {public static string kgtemp = ".kgtemp"; 공개 정적 문자열 KRC = "KRC"; public void Change (String temppath, String krcpath) {file temp = 새 파일 (temppath); 파일 krc = 새 파일 (krcpath); if (temp.exists () && temp.getName (). endSwith (kgtemp)) {String filename = temp.getName (); 문자열 filemd5 = filename .substring (0, filename.lastindexof (kgtemp)); if (! krc.exists ()) 반환; 문자열 krcname = krc.getName (); 문자열 krcmd5 = krcname.substring (krcname.lastindexof ( " -") + 1, krcname.lastindexof (krc) -1); 문자열 mp3name = krcname.substring (0, krcname.lastindexof ( "-")); if (krcmd5.equals (filemd5)) {String path = temp.getPath (). substring (0, temp.getPath (). lastIndexof ( "//")); file mp3file = 새 파일 (path + "//" + mp3name + ".mp3"); Temp.renameto (mp3file); } system.out.println (filename + "" + filemd5); system.out.println (krcname + "" "" + mp3name + "" + krcmd5);}} public void changeBydir (string temppath, string krcpath) {map <string, file> temps = filemd5map (temppath); map <string, string> mp3names = krcnamemd5map (krcnamemd5map); : temps.keyset () {file f = temps.get (f.exists ()) {string substring (0, f.getpath (). if (f.renameto (mp3file)) {system.out.println (f.getname ()+"+mp3file.getname ()); (dirfile.isdirectory ()) {map = 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 ( "-")) 계속; 문자열 krcmd5 = krcname.substring (krcname.lastindexof ( " -") + 1, krcname.lastindexof (krc) -1); 문자열 mp3name = krcname.substring (0, krcname.lastindexof ( "-")); map.put (krcmd5, mp3name); }} 리턴 맵; }} public static void main (string [] args) {kugoutempfiletomp3andmodifynametotruename ktf = new KugoutEmpFileTomp3AndModifynameToTRuename (); /*문자열 temppath = "d : /kugou/mp3/2fad259e357078e89404be12e1fd7ae3.kgtemp"; 문자열 krcpath = "d :/kugou/lyric/jay chou, yuan yonglin- wrong-2fad259e357078e89404be12e1fd7ae3.krc"; ktf.change (temppath, krcpath);*/string tempdir = "d :/kugou/mp3"; 문자열 krcdir = "d :/kugou/lyric"; ktf.changebydir (Tempdir, krcdir);}변경 (문자열, 문자열) 방법은 테스트에만 사용됩니다. 줄이나 무언가를 조정하십시오
주로 ChangeBydir 메소드를 사용하면 매개 변수는 임시 파일의 폴더 및 가사 파일의 폴더입니다.
Java 알고리즘에 대한 자세한 내용은이 사이트에 관심이있는 독자들이 주제를 볼 수 있습니다. "Java 데이터 구조 및 알고리즘 자습서", "Java Operation Dom Node Tips 요약", "Java 파일 및 디렉토리 작동 팁 요약"및 "Java Cache Operation Tips의 요약"을 볼 수 있습니다.
이 기사가 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.