gpt4 book ai didi

java - 尽管修剪,我怎样才能避免这种格式异常

转载 作者:太空宇宙 更新时间:2023-11-04 13:01:19 25 4
gpt4 key购买 nike

编辑:隐藏的角色弄乱了我的编辑器。

我想从我的文本文件中读取对象并将对象添加到其中的数组中。我得到了一个

NumberFormatException: For input string : "2".  

如果删除文件的第一行,则会出现输入字符串“3”的格式异常。

我错过了什么?

ArrayList<Personne> listp = new ArrayList<Personne>();
try {
FileReader file = new FileReader(personneFilePath);
Scanner sc = new Scanner(file);
while (sc.hasNextLine()) {
String line = sc.nextLine();
String[] attributes = line.split(",");
listp.add(new Personne(Integer.parseInt(attributes[0].trim()), attributes[1], attributes[2], Double.parseDouble(attributes[3]), attributes[4], attributes[5], attributes[6]));
}
file.close();
} catch (FileNotFoundException e) {
System.out.println("Erreur 1 : " + e.getMessage());
} catch (IOException e) {
System.out.println("Erreur 2 : " + e.getMessage());
}

这是我正在阅读的文件的内容;

2, Claire, Chazal, 65.0 , rue de Rennes, Laval, 53000
3, Jacques, Dupont, 90.0 , rue des Anges, Paris, 75000
4, Celine, Dia, 66.0 , rue Diderot, Paris, 75000
5, Remy, Cheval, 88.0 , rue du paradis, Nantes, 44000

最佳答案

看起来您的文件在 2 附近包含一些不可打印的字符,这些字符不是空格,因此 trim() 无法删除它。

要删除它,您可以使用 replaceAll("\\D","") 而不是 trim()

更好的解决方案是消除导致此问题的原因,因此请正确设置编辑器/文件格式/编码并停止将这些字符放入文件中。

关于java - 尽管修剪,我怎样才能避免这种格式异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34911309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com