java - 将一行字符串转换为单个整数

标签 java

如果我在文件中有这一行:2 18 4 3 我想将它作为单个整数来读取,我怎么能?

我正在使用缓冲区读取器:

BufferedReader(new FileReader("mp1.data.txt"));

我试过使用:

BufferedReader(new RandomAccessFile("mp1.data.txt"));

所以我可以使用这个方法

.readCahr();

但是我得到了一个错误

如果我用

int w = in.read();

它将读取 ASCII,我想要它原样(12 月)

我想先把它作为一个字符串来读,但我可以把每个数字分开吗?

我也想把每个数字排成一行,但是我的文件里有很多数字

最佳答案

考虑使用 Scanner :

Scanner scan = new Scanner(new File("mp1.data.txt"));

然后您可以使用 scan.nextInt() (它返回一个 int,而不是一个 String)只要 scan.hasNextInt() .

不需要那种丑陋的拆分和解析:)

但是,请注意这种方法将继续读取第一行之后的整数(如果这不是您想要的,您可能应该遵循其他答案中概述的建议,只读取和处理单个线)。

此外,一旦在文件中遇到非整数,hasNextInt() 将返回 false。如果您需要一种检测和处理无效数据的方法,您应该再次考虑其他答案。

关于java - 将一行字符串转换为单个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17657842/

相关文章:

java - 处理 Cometd 异常

java - 使用jsp时出现空指针异常:usebean

javascript - 如何在 JavaScript 中获取 Java boolean 值?

java - 在 Android 游戏开发中使用的东西

java - 如何使用 Junit 和 Mockito 对 REST Controller 进行单元测试?

java - 如何传递 json 文件或对象来启动 Cloud Foundry 中的应用程序?

java - 使用现有的 Spring Security 通过 XML 设置 Spring Session 和 Redis

java - 迭代器和抛出异常

java - Java Arithmetic 中的字符串(评估混合类型表达式)

java - 从 Java 代码停止可嵌入的 Tomcat