有没有人知道有一个java库可以让我读取m3u文件来获得文件名及其作为数组的绝对路径……
说明:我希望我的java程序能够解析winamp播放列表文件(.M3U),以获得播放列表中mp3文件的name+path
发布于 2012-02-24 16:53:43
在谷歌上快速搜索一下,就会得到与what you want类似的Lizzy。
发布于 2012-03-14 23:48:52
试试我的java m3u解析器:
用法:
try{
M3U_Parser mpt = new M3U_Parser();
M3UHolder m3hodler = mpt.parseFile(new File("12397709.m3u"));
for (int n = 0; n < m3hodler.getSize(); n++) {
System.out.println(m3hodler.getName(n));
System.out.println(m3hodler.getUrl(n));
}
}catch(Exception e){
e.printStackTrace():
}该项目发布在here上
发布于 2015-07-26 02:10:43
m3u是一个可以逐行读取的常规文本文件。请记住,以#开头的行是注释。这是我为此而创建的一个类。此类假定您只需要计算机上的文件。如果你想在网站上找到文件,你必须做一些小的修改。
/*
* Written by Edward John Sheehan III
* Used with Permission
*/
package AppPackage;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author Edward John Sheehan III
*/
public class PlayList {
List<String> mp3;
int next;
public PlayList(File f){
mp3=new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader(f))) {
String line;
while ((line = br.readLine()) != null) {
addMP3(line);
}
} catch (IOException ex) {
System.out.println("error is reading the file");
}
next=-1;
}
private void addMP3(String line){
if(line==null)return;
if(!Character.isUpperCase(line.charAt(0)))return;
if(line.indexOf(":\\")!=1)return;
if(line.indexOf(".mp3", line.length()-4)==-1)return;
mp3.add(line);
}
public String getNext(){
next++;
if(mp3.size()<=next)next=0;
return mp3.get(next);
}
}那就打电话给我
Playlist = new PlayList(file);https://stackoverflow.com/questions/9427084
复制相似问题