บทความนี้อธิบายถึงวิธีการแปลงไฟล์แคช Kugou Music ชั่วคราวเป็นไฟล์ MP3 ใน Java แบ่งปันสำหรับการอ้างอิงของคุณดังนี้:
ไฟล์แคชชั่วคราว Kugou นั้นถูกดาวน์โหลดไฟล์ MP3 แล้ว แต่ดูเหมือนว่าชื่อจะถูกเปลี่ยนชื่อผ่านอัลกอริทึม MD5
Kugou Will Cache เนื้อเพลงในเวลาเดียวกันเมื่อแคชไฟล์ โปรแกรมนี้จัดการเนื้อเพลงและไฟล์แคชที่สอดคล้องกันตาม MD5 จากนั้นเปลี่ยนไฟล์แคชเป็นรูปแบบเพลง +.mp3
ยกโทษให้ฉันที่ใช้ชื่อชั้นเรียนยาว ๆ
แพ็คเกจ com.zhou.run; นำเข้า java.io.file; นำเข้า java.util.hashmap; นำเข้า java.util.map; คลาสสาธารณะ kugoutempfiletomp3andmodifynametotruename สตริงคงที่สาธารณะ krc = "krc"; การเปลี่ยนแปลงโมฆะสาธารณะ (String Temppath, String krcpath) {ไฟล์ temp = ไฟล์ใหม่ (temppath); ไฟล์ krc = ไฟล์ใหม่ (krcpath); if (temp.exists () && temp.getName (). endswith (kgtemp)) {string filename = temp.getName (); String filemd5 = ชื่อไฟล์. substring (0, filename.lastindexof (kgtemp)); ถ้า (! 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 ("//")); ไฟล์ mp3file = ไฟล์ใหม่ (path + "//" + mp3name + ".mp3"); Temp.renameto (MP3File); } system.out.println (ชื่อไฟล์ + "" + filemd5); System.out.println (krcname + "" " + mp3name +" " + krcmd5);}} โมฆะสาธารณะ changebydir (สตริง temppath, สตริง krcpath) {แผนที่ <สตริงไฟล์> temps = filemd5map (temppath); แผนที่ <สตริง f = temps.get (คีย์); System.out.println (f.getName ()+"ถึง"+mp3file.getName ()); hashmap <string, file> (); map.put (filemd5, f);}}} return map; แผนที่ <สตริงสตริง> แผนที่ = null; if (dirfile.isdirectory ()) {map = new hashmap <string, string> (); สำหรับ (ไฟล์ f: dirfile.listfiles ()) {ถ้า (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); }} คืนแผนที่; }} โมฆะคงที่สาธารณะหลัก (สตริง [] args) {kugoutempfileTomp3andmodifynametototruename ktf = ใหม่ kugoutempfiletomp3andmodifynametotruename (); /*สตริง temppath = "d: /kugou/mp3/2fad259E357078E89404BE12E1FD7AE3.KGTEMP"; String krcpath = "d:/kugou/lyric/jay chou, หยวน Yonglin- สิ่งที่ผิด 2fad259e357078e89404BE12E1FD7AE3.KRC"; ktf.change (temppath, krcpath);*/string tempdir = "d:/kugou/mp3"; String krcdir = "d:/kugou/lyric"; ktf.changebydir (tempdir, krcdir);}วิธีการเปลี่ยนแปลง (สตริงสตริง) ใช้สำหรับการทดสอบเท่านั้น ปรับสตริงหรืออะไรบางอย่าง
ส่วนใหญ่ใช้วิธี ChangeByDir พารามิเตอร์คือโฟลเดอร์ของไฟล์ชั่วคราวและโฟลเดอร์ของไฟล์เนื้อเพลง
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับอัลกอริทึม Java ผู้อ่านที่มีความสนใจในเว็บไซต์นี้สามารถดูหัวข้อ: "โครงสร้างข้อมูล Java และการสอนอัลกอริทึม", "บทสรุปของเคล็ดลับการดำเนินงาน Java Dom", "บทสรุปของไฟล์ Java และเคล็ดลับการดำเนินการไดเรกทอรี" และ "สรุป
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคน