/** * 把下载到的歌词保存起来,免得下次再去找 * * @param lyric * 歌词内容 * @param info * 歌的信息 */ private void saveLyric(String lyric, PlayListItem info) { try { // 如果歌手不为空,则以歌手名+歌曲名为最好组合 String name = info.getFormattedName() + ".lrc"; File dir = new File(HOME, "Lyrics" + File.separator); // File dir = Config.getConfig().getSaveLyricDir(); dir.mkdirs(); file = new File(dir, name); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter( new FileOutputStream(file), "GBK")); bw.write(lyric); bw.close(); info.setLyricFile(file); log.info("保存完毕,保存在:" + file); } catch (Exception exe) { log.log(Level.SEVERE, "保存歌词出错", exe); } }
/** * 根据歌的信息去初始化,这个时候 可能在本地找到歌词文件,也可能要去网络上搜索了 * * @param info * 歌曲信息 */ private void init(PlayListItem info) { File matched = null; // 得到歌曲信息后,先搜索HOME文件夹 // 如果还不存在的话,那建一个目录,然后直接退出不管了 File dir = new File(HOME, "Lyrics" + File.separator); if (!dir.exists()) { dir.mkdirs(); // } matched = getMathedLyricFile(dir, info); } log.info("找到的是:" + matched); if (matched != null && matched.exists()) { info.setLyricFile(matched); file = matched; init(matched); } else { init(""); } }