我正在尝试从文本文件中读取整数,但我失败了。 (它甚至无法读取第一个整数)
public void readFromFile(String filename) {
File file = new File(filename);
try {
Scanner scanner = new Scanner(file);
if (scanner.hasNextInt()) {
int x = scanner.nextInt();
}
scanner.close();
} catch (FileNotFoundException e) {
System.out.println("File to load game was not found");
}
}
我得到的错误是:NoSuchElementException。 该文件如下所示:
N,X1,Y1,X2,Y2,X3,Y3
在此示例中,n等于3。
我在主方法中将此方法称为a:
readFromFile("file.txt");
答案 0 :(得分:1)
我不确定在将它们与字符串分开后是否只显示整数。如果是这种情况,我建议你使用BufferedInputStream。
try(BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)))){
String input = br.readLine();
int count = 0;
for(int i = 0; i < input.length()- 1; i++){
if(isNumeric(input.charAt(i))){
// replace the Sysout with your own logic
System.out.println(input.charAt(i));
}
}
} catch (IOException ex){
ex.printStackTrace();
}
其中isNumeric可以定义如下:
private static boolean isNumeric(char val) {
return (val >= 48 && val <=57);
}
答案 1 :(得分:0)
[ts] Property 'Server' does not exist on type 'typeof "http"'
使用空格作为默认分隔符。您可以使用Scanner
进行更改。请参阅此处:https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html