将文本文件存储在非String数组中

时间:2016-05-11 13:32:06

标签: java arrays string

我正在尝试将文本文件中的行存储到不是String数组的数组中。返回类型应该是一个GO数组(创建了另一个名为“GO”的类,带有构造函数和get- / set-methods,我将在代码的其他部分使用它。)

int rad = 0;  
GO [] list = new CD [rad]; 

public GO[] readFile(String filename) throws FileNotFoundException {
    Scanner read = new Scanner (new File(filename));
    while (read.hasNextLine()==true){
        rad++;
        read.nextLine();
    } read.close();

    read = new Scanner(new File(filename));
    for (int i=0;i<list.length;i++){
        //here the lines of the file should be stored in the "GO"array
        // but the declaration cannot convert string to GO[]
        list[i]=read.nextLine() 

2 个答案:

答案 0 :(得分:0)

class GO<T>{
   private T ref;

  public GO(T ref) {
    this.ref = ref;
  }

}

你应该改变你的GO类使用泛型,你可以用这种方法为Go Array增加值。

 list[i] = new GO(read.nextLine());  

将类更改为泛型。您可以通过将任何对象传递给构造函数来创建Go类的实例。

答案 1 :(得分:-1)

您需要自己解析生成的String并从中构建一个GO对象,这可以是保持清洁的单独方法。获取对象变量的值并适当使用您的setter。

如果您的程序正在撰写文件的内容,那么您最好GO实施Serializeable并保存/加载对象的状态本身而不是制作文字。如果没有,上面是你唯一的选择,真的。