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

Java读取txt文件时如何按/分割字符串存入对应姓名变量

实现方案

方法1:直接设置Scanner的分隔符

Scanner自带useDelimiter()方法,支持传入正则表达式作为内容分割规则,你可以直接指定/为分隔符,如果你的文件是每行存一个姓名,可以额外匹配换行符避免读取到多余的换行内容。

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

public class ReadName {
    public static void main(String[] args) {
        try {
            // 替换为你实际的txt文件路径
            Scanner scanner = new Scanner(new File("names.txt"));
            // 分隔符规则:匹配/ 或者Windows/macOS的换行符
            scanner.useDelimiter("/|\\r?\\n");
            
            while (scanner.hasNext()) {
                String firstName = scanner.next();
                String middleName = scanner.next();
                String lastName = scanner.next();
                // 此处可添加你自己的业务处理逻辑,下方为验证打印示例
                System.out.printf("名:%s,中间名:%s,姓:%s%n", firstName, middleName, lastName);
            }
            scanner.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}

方法2:读取整行后分割(更适合初学者,容错性更高)

你也可以先逐行读取文件内容,再调用String类的split()方法按/分割,这种方式可以提前校验每行的格式是否符合要求,避免因为某行内容异常打乱整个读取逻辑。

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadName {
    public static void main(String[] args) {
        // 替换为你实际的txt文件路径
        try (BufferedReader br = new BufferedReader(new FileReader("names.txt"))) {
            String line;
            while ((line = br.readLine()) != null) {
                // 按/分割当前行内容
                String[] nameParts = line.split("/");
                // 先校验格式是否为三段,避免数组越界异常
                if (nameParts.length == 3) {
                    String firstName = nameParts[0];
                    String middleName = nameParts[1];
                    String lastName = nameParts[2];
                    // 此处可添加你自己的业务处理逻辑,下方为验证打印示例
                    System.out.printf("名:%s,中间名:%s,姓:%s%n", firstName, middleName, lastName);
                } else {
                    System.out.printf("跳过格式错误的行:%s%n", line);
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

注意事项

  • 如果你的文件中/前后可能存在空格,可以将分割规则调整为\\s*/\\s*,自动忽略前后的空白字符
  • 优先推荐第二种方案,显式的行读取+长度校验可以提前拦截格式错误的内容,更易调试

内容的提问来源于stack exchange,提问作者Snorix5226

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 08:45:06