Java 无法将txt文件读入对象数组,然后打印结果
我正在尝试从我的电影类中读取一个文件,然后将结果打印到对象数组中Java 无法将txt文件读入对象数组,然后打印结果,java,java.util.scanner,text-parsing,Java,Java.util.scanner,Text Parsing,我正在尝试从我的电影类中读取一个文件,然后将结果打印到对象数组中 public class Movie_Class { private int MovieID; private String MovieTitle; private String Director; private String Writer; private String Duration; private String Genre; private String Classification;
public class Movie_Class {
private int MovieID;
private String MovieTitle;
private String Director;
private String Writer;
private String Duration;
private String Genre;
private String Classification;
private String ReleaseDate;
private Double Rating;
public Movie_18512117(int ID, String Title, String Mdirector, String Mwriter,
String Mduration, String Mgenre, String Mclassification, String MreleaseDate, Double Mrating) {
MovieID = ID;
MovieTitle= Title;
Director= Mdirector;
Writer= Mwriter;
Duration= Mduration;
Genre= Mgenre;
Classification= Mclassification;
ReleaseDate= MreleaseDate;
Rating= Mrating;
}
public int getMovieID(){
return MovieID;
}
public String getMovieTitle(){
return MovieTitle;
}
public String getDirector(){
return Director;
}
public String getWriter(){
return Writer;
}
public String getDuration(){
return Duration;
}
public String getGenre(){
return Genre;
}
public String getClassification(){
return Classification;
}
public String getReleaseDate(){
return ReleaseDate;
}
public Double getRating(){
return Rating;
}
public void setMovieID(int MovieID) {
this.MovieID = MovieID;
}
public void setMovieTitle(String MovieTitle){
this.MovieTitle = MovieTitle;
}
public void setDirector(String Director) {
this.Director = Director;
}
public void setWriter(String Writer) {
this. Writer = Writer;
}
public void setDuration(String Duration) {
this. Duration = Duration;
}
public void setGenre(String Genre) {
this.Genre = Genre;
}
public void setClassification(String Classification){
this.Classification = Classification;
}
public void setReleaseDate(String ReleaseDate){
this.ReleaseDate = ReleaseDate;
}
public void setRating(Double Rating){
this.Rating = Rating;
}
}
import java.io.File;
import java.util.Scanner;
import java.io.FileNotFoundException;
public class movie {
public static void main(String[] args) throws FileNotFoundException {
File myFile = new File ("movieLibrary.txt");
Scanner inputFile = new Scanner(myFile);
String str;
Movie_Class[] movie = new Movie_Class[100];
String[] tokens;
while (inputFile.hasNext()){
str=inputFile.next();
tokens = str.split(",");
for(int i = 0; i < movies.length; i++){
movie[i] = new Movie_18512117(1);
//I don't know how to read the lines in to //my array and split the spaces, then print the result.
System.out.println(movie);
}
}
inputFile.close();
}
}
如果您想像这样迭代输入流,请尝试使用BufferedReader和FileReader类而不是scanner。链接中提供了一个有用的教程,介绍了如何执行此操作: 此外,还可以使用.splitregex方法进一步处理来自文件的传入信息。 e、 g.使用String.split\s+在空格上拆分
用于将信息添加到数组中;您可以尝试使用ArrayList及其.add methode,而不是现在使用的对象数组。Movie_类的构造函数方法应该是public Movie_类,而不是public Movie_18512117。这是第一个错误。阅读更多关于。 然后可以通过调用
movie[i] = new Movie_Class(...);
在构造函数中,您必须输入电影的所有细节,而不仅仅是ID。如果您想创建一个只有ID的电影对象,您应该定义一个只有ID作为输入值的新构造函数,如下所示
public Movie_Class (int ID) {
// Do whatever you want
}
如果要添加对象,可以使用ArrayList而不是数组,而不知道应该存储在其中的元素的确切数量。阅读有关ArrayList和其他集合的信息。
首先尝试修复这些错误。然后你就可以继续了。!发生了什么问题,您正试图解决?您忘记描述问题并提出问题。