我需要使用 BufferedReader 从文本文件中获取数字。 当我得到它时,该数字是用 ASCII 编码的,我无法将其转换为整数。
此练习适用于类练习。练习:在 Windows 笔记本的文件夹中创建一个文本文件。 该文件将包含整数,每一行一个。创建一个程序 在 Java 中读取之前的数据文件并在屏幕上显示我们的平均值 值、最大值和最小值。用户将注明姓名 文件的内容。
char valor;
fs = new FileReader(path+filename);
bf = new BufferedReader(fs)
//THE TEXTFILE CONTAINS INT NUMBERS, FIRST OF THEM IS NUMER 3
valor = (char)bf.read(); //I NEED THIS NUMBER, WITHOUT ASCII CODED
//I NEED TO USE THIS VALUE FOR CALCULATE
System.out.print(valor); //CONSOLE : 3
---------------------------------------------
//IF I CONVERT, CONSOLE SHOWS
System.out.print((int)valor); //CONSOLE: 51
最佳答案
发生这种情况是因为字符“3”在 ASCII 表中的索引是 51 ( ASCII table )。您需要解析它:
int value = Character.getNumericValue(valor);
或减去 '0' (48) 的 ASCII 代码
int value = valor - '0';
关于java - 如何获取从缓冲读取器文件中获得的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55918928/