java - 如何获取从缓冲读取器文件中获得的数字?

标签 java ascii bufferedreader

我需要使用 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/

相关文章:

java - 如何更改二维数组中的第一行和第一列

javascript - 如何从 Cypress 中的字符串中删除空格

java - 一个字符串中有多个方法?

java - Java中unicode字符的ASCII码等价物

c# - 如何通过按住 shift 获得一个字符?

java - 搜索方法只搜索第一行java

java - BufferedReader 从未关闭,但文件能够删除

java - 一次性将文件读入内存到底意味着什么?

java - 关于Java ServerSocket接受: busy-wating?

java - 持续读取附加到日志文件的行