亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java實現(xiàn)酷狗音樂臨時緩存文件轉(zhuǎn)換為MP3文件的方法

 更新時間:2016年08月19日 09:37:59   作者:k55k3  
這篇文章主要介紹了java實現(xiàn)酷狗音樂臨時緩存文件轉(zhuǎn)換為MP3文件的方法,涉及java針對文件操作的相關(guān)技巧,需要的朋友可以參考下

本文實例講述了java實現(xiàn)酷狗音樂臨時緩存文件轉(zhuǎn)換為MP3文件的方法。分享給大家供大家參考,具體如下:

酷狗臨時緩存文件,其實已經(jīng)是吧MP3文件下載好了,只是名字看上去好像是通過md5算法重命名的。

酷狗在緩存文件的時候會同時緩存歌詞。這個程序就是根據(jù)md5管理對應(yīng)的歌詞文件和緩存文件,然后把緩存文件改成 歌曲名+.mp3格式。

原諒我取這么長也不知道對不對的類名。

package com.zhou.run;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
public class KugouTempFileToMp3AndModifyNameToTrueName {
  public static String KGTEMP = ".kgtemp";
  public static String KRC = "krc";
  public void Change(String tempPath, String krcPath) {
    File temp = new File(tempPath);
    File krc = new File(krcPath);
    if (temp.exists() && temp.getName().endsWith(KGTEMP)) {
      String filename = temp.getName();
      String filemd5 = filename
          .substring(0, filename.lastIndexOf(KGTEMP));
      if (!krc.exists())
        return;
      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("\\"));
        File mp3File = new File(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(krcPath);
    for(String key :temps.keySet()){
      File f = temps.get(key);
      if(f.exists()){
        String path = f.getPath().substring(0,
            f.getPath().lastIndexOf("\\"));
        String mp3Name = mp3Names.get(key);
        File mp3File = new File(path + "\\" + mp3Name + ".mp3");
        if(f.renameTo(mp3File)){
          System.out.println(f.getName()+" to "+mp3File.getName());
          System.err.print("  SUCCESS");
        }
      }
    }
  }
  public Map<String, File> fileMd5Map(String path) {
    File dirFile = new File(path);
    Map<String, File> map = null;
    if (dirFile.isDirectory()) {
      map = new HashMap<String, File>();
      for (File f : dirFile.listFiles()) {
        if (f.exists()&&f.isFile()&& f.getName().endsWith(KGTEMP)) {
          String filename = f.getName();
          String filemd5 = filename.substring(0,
              filename.lastIndexOf(KGTEMP));
          map.put(filemd5, f);
        }
      }
    }
    return map;
  }
  public Map<String,String> krcNameMd5Map(String path){
    File dirFile = new File(path);
    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);
        }
      }
    }
    return map;
  }
}
public static void main(String[] args) {
    KugouTempFileToMp3AndModifyNameToTrueName ktf = new KugouTempFileToMp3AndModifyNameToTrueName();
    /*String tempPath = "D:/KuGou/mp3/2fad259e357078e89404be12e1fd7ae3.kgtemp";
    String krcPath ="D:/KuGou/Lyric/周杰倫、袁詠琳 - 怎么了-2fad259e357078e89404be12e1fd7ae3.krc";
    ktf.Change(tempPath,krcPath);*/
    String tempDir ="D:/KuGou/mp3";
    String krcDir="D:/KuGou/Lyric";
    ktf.ChangeByDir(tempDir, krcDir);
}

Change(string,string) 方法只是用來測試用的。調(diào)一下字符串之類的

主要使用ChangeByDir方法,參數(shù)是臨時文件的文件夾和歌詞文件的文件夾

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計有所幫助。

相關(guān)文章

  • iOS獲取AppIcon and LaunchImage''s name(app圖標(biāo)和啟動圖片名字)

    iOS獲取AppIcon and LaunchImage''s name(app圖標(biāo)和啟動圖片名字)

    這篇文章主要介紹了iOS獲取AppIcon and LaunchImage's name(app圖標(biāo)和啟動圖片名字)的相關(guān)資料,非常不錯,具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧
    2016-08-08
  • Java責(zé)任鏈模式詳解

    Java責(zé)任鏈模式詳解

    責(zé)任鏈模式(Chain?of?Responsibility?Pattern)是一種行為型設(shè)計模式,它用于將請求的發(fā)送者和接收者解耦,使得多個對象都有機會處理這個請求,本文將詳細介紹?Java?中的責(zé)任鏈模式,包括其概念、結(jié)構(gòu)、實現(xiàn)方式以及應(yīng)用案例等,需要的朋友可以參考下
    2023-05-05
  • MyBatisPlus?大數(shù)據(jù)量查詢慢的問題解決

    MyBatisPlus?大數(shù)據(jù)量查詢慢的問題解決

    本文主要介紹了MyBatis?Plus?解決大數(shù)據(jù)量查詢慢問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • MyBatis多數(shù)據(jù)源的兩種配置方式

    MyBatis多數(shù)據(jù)源的兩種配置方式

    這篇文章主要給大家介紹了關(guān)于MyBatis多數(shù)據(jù)源的兩種配置方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • Java中常用的設(shè)計模式之工廠模式詳解

    Java中常用的設(shè)計模式之工廠模式詳解

    這篇文章主要為大家詳細介紹了Java中常用的設(shè)計模式之工廠模式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Java8使用stream實現(xiàn)list中對象屬性的合并(去重并求和)

    Java8使用stream實現(xiàn)list中對象屬性的合并(去重并求和)

    這篇文章主要介紹了Java8使用stream實現(xiàn)list中對象屬性的合并(去重并求和),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Java 創(chuàng)建并應(yīng)用PPT幻燈片母版的方法示例

    Java 創(chuàng)建并應(yīng)用PPT幻燈片母版的方法示例

    幻燈片母版可供用戶設(shè)置幻燈片的樣式,本文將介紹如何用Java創(chuàng)建并應(yīng)用單個或多個幻燈片母版。感興趣可以了解一下
    2020-06-06
  • J2ee 高并發(fā)情況下監(jiān)聽器實例詳解

    J2ee 高并發(fā)情況下監(jiān)聽器實例詳解

    這篇文章主要介紹了J2ee 高并發(fā)情況下監(jiān)聽器實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Java實現(xiàn)8種排序算法的示例代碼

    Java實現(xiàn)8種排序算法的示例代碼

    這篇文章主要介紹了8種JAVA實現(xiàn)排序算法的示例代碼,文中講解非常細致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • SpringBoot 利用RestTemplate http測試

    SpringBoot 利用RestTemplate http測試

    這篇文章主要介紹了SpringBoot 利用RestTemplate http測試,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08

最新評論