2012-07-09 95 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(...)

注:你不使用在:)