Java 从文件中读取每一行,并从中创建整数

Java 从文件中读取每一行,并从中创建整数,java,input,Java,Input,我有一个名为membercodes.cfg的文件。 我想读每一行(每一行都是这样的:555:333:989)。 然后,该线必须分成3部分。 整数1的值必须为555,整数2的值必须为333,整数3的值必须为989 谢谢大家。你们读过吗?和许多编程任务一样,这实际上是一个将一个“大”任务拆分为小任务的问题: 了解如何一次读取一行文件(查看FileInputStream,InputStreamReader,BufferedReader,以及BufferedReader.readLine;避免使用文件

我有一个名为membercodes.cfg的文件。 我想读每一行(每一行都是这样的:555:333:989)。 然后,该线必须分成3部分。 整数1的值必须为555,整数2的值必须为333,整数3的值必须为989


谢谢大家。

你们读过吗?

和许多编程任务一样,这实际上是一个将一个“大”任务拆分为小任务的问题:

  • 了解如何一次读取一行文件(查看
    FileInputStream
    InputStreamReader
    BufferedReader
    ,以及
    BufferedReader.readLine
    ;避免使用文件阅读器,因为它总是使用平台默认字符编码-这是个坏主意)
  • 了解如何根据分隔符将一行拆分为不同的字符串(查看
    String.split
  • 了解如何将字符串解析为int(查看
    Integer.parseInt
另一个答案指出,还有
扫描仪
。我自己使用
扫描仪的经验有点有限,但有时感觉有点像黑魔法,当事情没有按计划进行时很难调试。另一方面,它很可能以更少的代码结束


无论最终使用哪种解决方案,您都应该同时考虑这两种解决方案。。。除此之外,这是一个有用的练习,可以像我所做的那样分解这个大任务,学习Java API的各个方面也是一个好主意——包括我所提到的“低级”API和更高级的API,如
Scanner

,我几乎尝试了所有的方法,但我对Java非常陌生。你好,Jon Skeet。我尝试了第1部分,但该行相当于“333:444:555”,当我执行if(line==“333:444:555”){SYstem.out.println(“true”)}时,它甚至不显示true@StackExceptionOne:不,不会-因为您使用“==”来比较字符串。。。这将只比较字符串引用,而不是字符串中的值。尝试使用
等于
代替.Hm。我还是不能让它工作。我对Java和IO都很陌生,所以我不知道如何才能让它工作。。。也许有人有一个小小的例子?@StackExceptionOne:我建议你问一个单独的问题,因为你不能去工作。你应该能够找出哪个部分不起作用,并提出一个与之相关的问题,而不必参考其他部分。能够专注于一项特定的小任务是非常重要的。@Jon Skeet:是的,我会试着去做。谢谢你的提示。我可以用下面的代码来阅读吗?Scanner sc=新的扫描仪(新文件(“C:\\test.txt”);虽然(sc.hasNextLong()){long-aLong=sc.nextLong();}我对java IO非常陌生,所以我不太了解。你可以在这里找到示例:。