私はm3uファイルを読むことを許可するJavaライブラリを知っています ファイル名とその絶対パスを配列として取得できますか?JavaのM3U(プレイリスト)ファイルを読む
明確化:私は私のJavaプログラムは、プレイリスト
私はm3uファイルを読むことを許可するJavaライブラリを知っています ファイル名とその絶対パスを配列として取得できますか?JavaのM3U(プレイリスト)ファイルを読む
明確化:私は私のJavaプログラムは、プレイリスト
迅速なGoogle検索の利回りLizzy
にmp3ファイルの名前+パスを取得するにはWinampのプレイリスト ファイル(.M3U)を解析できるようにしたいと思い、それはwhat you wantと思われる。
Lizzyはこの段階ではお勧めできません。単体テストは基本的に存在せず、プロジェクトは維持されず、Sourceforgeに埋められます。加えて、テキストファイルパーサにはほとんど意味を持たないハードffmpegの依存関係があります。 –
は私の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
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);
を呼び出します。 「ファイル名とその絶対パスを配列として取得する」とはどういう意味ですか?たぶん疑似コードを表示できますか? – home
なぜ.m3uファイルの内容を読むだけではないのですか? lines配列を取得し、各行に.m3uファイルのディレクトリを追加します。 –