Java 将文本文件存储在非字符串数组中
我试图将文本文件中的行存储到非字符串数组的数组中。返回类型应该是GO数组(已经创建了另一个名为“GO”的类,其中包含构造函数和get-/set方法,我将在代码的其他部分中使用这些方法)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();
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
implementSerializeable
并保存/加载对象本身的状态,而不是生成文本。如果不是这样,那么以上是您唯一的选择
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());