2012-07-09 85 views
0

文件讀取文件到列表中,創建一個新類叫ListUtils和寫入的方法稱爲 公共靜態ListElement readMP3List(字符串文件名)拋出IOException異常 將採取文件的名稱被讀取並返回包含該文件對象的鏈表的頭部。 在readMP3List中,您應該使用類java.io.BufferedReader和java.io.FileReader打開fileName,並一次讀取一行。每行你應該分解成它的文件名,藝術家等,然後使用這些值填充一個新的MP3Info對象。然後,您創建一個包含您剛創建的MP3Info對象的新ListElement對象,並將其放到您的列表中。分裂Java中

到目前爲止我有:

public class ListUtils{ 

    public static ListElement readMP3List(String fileName) throws IOExeption{ 
    { 
      // takes name of file to be read 
      // returns the head of Linkedlist 
      File file = new File("random_sample.tsv"); 
      BufferedReader br = new BufferedReader(new FileReader(file)); 
      String first= br.readLine(); 
    } 

該文件具有名稱,藝術家等在這我要拆分的多條線。我真的很困惑如何使用拆分(正則表達式)來完成這一點。

文件的一個例子是這樣的: 文件名藝術家SONGNAME專輯trackNum numSeconds年流派\ n

+0

他們有一個共同的邊界人物?在中,它們是用逗號還是一些常用符號分開的? '藝術家,名字等' – TheZ 2012-07-09 23:48:06

+0

它由空格隔開,後面是換行符,用於下一行信息 – user1513323 2012-07-09 23:52:34

+0

應該很簡單,那麼您是否查看了分割的文檔? http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#split(java.lang.String) – TheZ 2012-07-09 23:54:31

回答

1

過去了,我認爲這是你需要什麼fileName

String fist= "fileName artist songName album trackNum numSeconds"; 

String[] data = fist.split(" ");//whitespace if tab replace with "\t" 

String fileName = data[0]; 
String artist = data[1]; 
String songName = data[2]; 
String album = data[3]; 
String trackNum = data[4]; 
String numSeconds = data[4]; 
2

我要去無路可退,並說這是家庭作業嗎?無論如何,這是一個正確的方向:鑑於你的文件似乎有擴展tsv,我只能假設你的值是由製表符分隔。對於標籤分割,使用\t查看使用split(...)

注:你不使用在:)