You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java读取文本文件:如何将文件中的数值存入列表或变量?

解决方法:将文本中的数字存入列表或分配变量

首先,你的代码已经迈出了关键一步——成功读取了文件内容到字符串列表中!不过因为这些内容都是整数,我们可以把它们转换成Integer类型,这样后续做数值计算会更方便。下面分两种场景给你具体方案:

一、存入Integer类型的列表

修改你的代码,把读取到的字符串转成整数再加入列表,同时优化代码的健壮性:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;

class Test {
    public static void main(String[] args) {
        try {
            Scanner lese = new Scanner(new File("regneklynge.txt"));
            ArrayList<Integer> numList = new ArrayList<>();
            
            while (lese.hasNextInt()) { // 用hasNextInt()判断下一个是否是整数,更精准
                numList.add(lese.nextInt()); // 直接读取为整数类型
            }
            
            lese.close(); // 记得关闭Scanner释放资源
            
            // 测试输出列表内容
            System.out.println("读取到的数字列表:" + numList);
        } catch (FileNotFoundException e) {
            e.printStackTrace(); // 处理文件找不到的异常情况
        }
    }
}

这里做了几个实用优化:

  • 将列表类型改为ArrayList<Integer>,直接存储整数而非字符串,方便后续数值操作
  • 用hasNextInt()替代hasNext(),确保只读取整数内容,避免非数字内容干扰
  • 添加了异常捕获,处理文件找不到的场景,让代码更健壮
  • 读取完毕后关闭Scanner,避免资源泄漏

二、分配给单独的变量

如果你的文本内容格式固定(就是7个数字),可以直接依次读取每个数字并赋值给独立变量:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

class Test {
    public static void main(String[] args) {
        try {
            Scanner lese = new Scanner(new File("regneklynge.txt"));
            
            // 按顺序读取每个数字并赋值
            int val1 = lese.nextInt();
            int val2 = lese.nextInt();
            int val3 = lese.nextInt();
            int val4 = lese.nextInt();
            int val5 = lese.nextInt();
            int val6 = lese.nextInt();
            int val7 = lese.nextInt();
            
            lese.close();
            
            // 测试输出变量值
            System.out.println("第一个值:" + val1);
            System.out.println("第二个值:" + val2);
            // 其他变量可同理输出
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

这种方式适合你确定文件内数字数量固定的情况,如果数字数量不确定,还是用列表的方式更灵活。

另外要注意:运行代码时,确保regneklynge.txt文件在项目根目录下,或者你可以写完整的文件路径(比如new File("C:/your-folder-path/regneklynge.txt"))。

内容的提问来源于stack exchange,提问作者H.Pett

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:52:03