2012-02-24 7 views
1

私はm3uファイルを読むことを許可するJavaライブラリを知っています ファイル名とその絶対パスを配列として取得できますか?JavaのM3U(プレイリスト)ファイルを読む

明確化:私は私のJavaプログラムは、プレイリスト

+0

を呼び出します。 「ファイル名とその絶対パスを配列として取得する」とはどういう意味ですか?たぶん疑似コードを表示できますか? – home

+0

なぜ.m3uファイルの内容を読むだけではないのですか? lines配列を取得し、各行に.m3uファイルのディレクトリを追加します。 –

答えて

3

迅速なGoogle検索の利回りLizzyにmp3ファイルの名前+パスを取得するにはWinampのプレイリスト ファイル(.M3U)を解析できるようにしたいと思い、それはwhat you wantと思われる。

+0

Lizzyはこの段階ではお勧めできません。単体テストは基本的に存在せず、プロジェクトは維持されず、Sourceforgeに埋められます。加えて、テキストファイルパーサにはほとんど意味を持たないハードffmpegの依存関係があります。 –

2

は私の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

2

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);