0

要将文件读入列表,请创建一个名为 ListUtils 的新类并编写一个名为 public static ListElement readMP3List(String fileName) 的方法 throws IOException 它将获取要读取的文件的名称并返回包含该文件的对象。在 readMP3List 中,您应该使用 java.io.BufferedReader 和 java.io.FileReader 类打开 fileName 并一次读取一行。您应该将每一行分成其文件名、艺术家等,然后使用这些值来填充一个新的 MP3Info 对象。然后您创建一个新的 ListElement 对象,其中包含您刚刚创建的 MP3Info 对象并将其放入您的列表中。

到目前为止,我有:

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

该文件有多行名称、艺术家等,我必须在其中拆分。我真的很困惑如何使用 split(regex) 来实现这一点。

文件示例如下: fileName 艺术家 songName 专辑 trackNum numSeconds year 流派 \n

4

2 回答 2

2

我要冒昧地说这是家庭作业?无论如何,这是朝着正确方向迈出的一步:鉴于您的文件似乎具有扩展名tsv,我只能假设您的值由制表符分隔。要按选项卡拆分,请查看 using split(...) with \t

注意:您没有使用fileName传入的 :)

于 2012-07-09T23:58:06.573 回答
1

我认为这是你需要的:

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];
于 2012-07-10T00:47:46.260 回答