用Java拆分文件

时间:2012-07-09 23:46:24

标签: java split bufferedreader

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

到目前为止,我已经:

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(正则表达式)来实现这一点。

该文件的一个例子是:    fileName artist songName album trackNum numSeconds year genre \ n

2 个答案:

答案 0 :(得分:2)

我准备出门,说这是作业?无论如何,这是向正确的方向推进:假设您的文件似乎具有扩展名tsv,我只能假设您的值由制表符分隔。要按标签进行拆分,请使用\t查看使用split(...)

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

答案 1 :(得分: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];