我正在编写需要获取文件输入然后将值重建到 ArrayList 中的代码。
这是迄今为止将文件转换为对象的代码。
public static ArrayList<User> fileToObject() {
ArrayList<User> FileToObject = new ArrayList<>();
Scanner in = null;
boolean err0 = false;
try {
in = new Scanner(Paths.get("User_info.txt"));
} catch (IOException ex) {
err0 = true;
}
if (!err0) // if couldn't open file then skip
{
while (in.hasNext()) {
String theUser = in.nextLine();
String[] Line = theUser.split(",");
User user = null;
try {
if ( Line.length == 10) {
// reconstruct Address
Address a1 = new Address( Line[2], Line[3], Line[4], Line[5], Line[6],
Integer.parseInt( Line[7]));
// reconstruct Customer
user = new Customer( Line[0], Line[1], Line[2], Line[3], Line[4], Line[5], Line[6], Line[7],a1, Line[14]);
FileToObject.add(user);
} else {
return null;
}
} catch (NoSuchElementException ex) {
System.out.println("File improperly formed. Terminating.");
}
}
in.close();
}
// write object back to file.
File f1 = new File(Paths.get("User_info.txt").toUri());
Formatter out = null;
boolean err = false;
try {
out = new Formatter(f1);
} catch (FileNotFoundException ex) {
err = true;
}
}
}
}
我的问题是数组 User( user = new Customer(Line[0], Line[1], Line[2], Line[3], Line[4], Line[5)) 的元素 Line[5]是枚举类型(如下面客户类的第一个构造函数中所示),因此我收到错误“不兼容类型,字符串无法转换为 UserType(UserType 是枚举)。
我和我的导师交谈,他告诉我需要将字符串转换为枚举。我不确定他的意思,因为他不会进一步解释。他是在谈论字符串数组还是我需要将正在读取的文件中的字符串转换为枚举?我有点迷失所以非常感谢任何帮助
繁星淼淼
HUX布斯
FFIVE
相关分类