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和其他集合的信息。
首先尝试修复这些错误。然后你就可以继续了。

!发生了什么问题,您正试图解决?您忘记描述问题并提出问题。