用Java加载moviedatabase txt文件并对其进行排序

时间:2015-02-06 07:15:32

标签: java arraylist

此项目的目标是读取电影数据库txt文件,其中文件中的每一行包含一个电影的名称,发布年份和关联的演员。每条信息由'/'字符分隔。年份在电影名称末尾的括号内指定。我已经创建了一个actor类,它存储了一个String firstname和一个String lastname,还有一个movie类,它包含了有关该电影的所有上述信息。在movieDataBase类中,我需要加载.txt文件,并将其拆分为不同的组件。我理解如何将文件拆分为不同的元素,我只是不知道如何将关联的actor的字符串转换为Actor对象的arrayList。对不起新手问题。我的java书根本没有谈论它,我一直在互联网上寻找过去3个小时!这是我的代码:

public class Actor {

private String firstName;
private String lastName;

public Actor(){
    firstName = "";
    lastName = "";
}

public Actor( String first){
    this (first, "");
}

public Actor( String first, String last){
    firstName = first;
    lastName = last;

}

public String getFirstName(){
    return firstName;
}

public void setFirstName( String first){
    firstName = first;
}

public String getLastName(){
    return lastName;
}

public void setLastName( String last){
    lastName = last;
}

public String toString(){
    return firstName + " " + lastName;
}

}

//new class

public class MovieDatabase 

public void loadDataFromFile( String aFileName) throws FileNotFoundException{
    //creating a scanner to read the file
    Scanner theScanner = new Scanner(aFileName);
    theScanner = new Scanner(new FileInputStream("cast-mpaa.txt"));

    while(theScanner.hasNextLine()){
    String line = theScanner.nextLine();
    String[] splitting = line.split("/");
    String movieTitle = splitting[0];
    filmActors.add(splitting[2]);
    //this is where I have issues
    ArrayList<Actor> associatedActors = new ArrayList<Actor>();
    for( String newActors : filmActors){


    }

    }
}

}

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

for( String newActor : filmActors){
     associatedActors.add(new Actor(newActor));
}

这意味着使用new Actor创建一个Actor的新对象实例并将其添加到您创建的数组列表中。

对于Actor类,您在构造函数中传递actor名称,这就是您构建我假设的Actor对象的方式。