Java 将文本文件存储在非字符串数组中

Java 将文本文件存储在非字符串数组中,java,arrays,string,Java,Arrays,String,我试图将文本文件中的行存储到非字符串数组的数组中。返回类型应该是GO数组(已经创建了另一个名为“GO”的类,其中包含构造函数和get-/set方法,我将在代码的其他部分中使用这些方法) intrad=0; GO[]列表=新CD[rad]; public GO[]readFile(字符串文件名)引发FileNotFoundException{ 扫描仪读取=新扫描仪(新文件(文件名)); while(read.hasNextLine()==true){ rad++; read.nextLine();

我试图将文本文件中的行存储到非字符串数组的数组中。返回类型应该是GO数组(已经创建了另一个名为“GO”的类,其中包含构造函数和get-/set方法,我将在代码的其他部分中使用这些方法)

intrad=0;
GO[]列表=新CD[rad];
public GO[]readFile(字符串文件名)引发FileNotFoundException{
扫描仪读取=新扫描仪(新文件(文件名));
while(read.hasNextLine()==true){
rad++;
read.nextLine();
}read.close();
读取=新扫描仪(新文件(文件名));

对于(int i=0;i您需要自己解析生成的
String
并从中构建一个
GO
对象,这可以是一个单独的方法来保持整洁。获取对象变量的值并适当地使用设置器

如果您的程序正在编写文件内容,那么最好使用
GO
implement
Serializeable
并保存/加载对象本身的状态,而不是生成文本。如果不是这样,那么以上是您唯一的选择

class GO<T>{
   private T ref;

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

}

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

==true
在逻辑中是多余的。这就像
*1
+0
。您的问题是?编辑:它应该是“Go[]list=new Go[rad]”问题是我如何将输入存储在数组中。你可以将你的问题直接存储在数组中并解决任何问题。如果我们不了解你正在阅读的文本与GO类之间的联系,我们将帮不了你多少忙。因此,在你编辑时,你应该添加一个文件内容的示例,以及GO类的相关部分。Actua实际上,Java序列化非常臃肿,如果您只想保留特定类的详细信息,您最好自己编写。只有当您有一个支持未知类的通用框架时,序列化才是好的,即使这样,市场上也有Java序列化的替代品,可以减少Java序列化的大小和复杂性d增加其可移植性。
class GO<T>{
   private T ref;

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

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