java - 如何使用 Java 读取 3 列 txt 文件
问题描述
我试过使用常规方法,我意识到这个 txt 有 3 列,但其中一个有一个短语,所以它让我有超过 3 列
解决方案
使用类的方法split(String, int)java.lang.String
。
/*
* import java.io.File;
* import java.io.FileNotFoundException;
* import java.util.Arrays;
* import java.util.Scanner;
*/
try (Scanner scanner = new Scanner(new File("inputext.txt"))) {
String line;
String[] columns;
while (scanner.hasNextLine()) {
line = scanner.nextLine();
columns = line.split("\\s+", 3);
if (columns.length == 3) {
System.out.println(Arrays.toString(columns));
}
}
}
catch (FileNotFoundException x) {
x.printStackTrace();
}
请注意,我编写了一个名为inputext.txt的文本文件,其中包含您问题中的示例数据。
这是我得到的输出:
[Phone, Account, Message]
[+5215554089954, 123456ABC001, This is a test message]
[5554089954, 123456ABC002, This is a test message]
[53711100, 123456ABC003, This is a test message]
[+525554089954, 123456ABC003, This is a test message]
[015554089954, 123456ABC003, This is a test message]
推荐阅读
- java - RXjava 代码从 1.0 到 2.0 的转换——subscriber.isUnsubscribed() 不可用
- r - R Shiny:Abline 没有出现在箱线图中
- android - 在 Nativescript 插件中实现第三方 Android 库?
- javascript - js文件未加载到节点js服务器中
- c - 停止函数以中断无限递归
- string - MongoDB 大于 numberLong 问题
- python - 使用 python 的数字到字母数字编码器(排列和正则表达式)
- django - 如何修复仅在 Chrome 中出现的“Uncaught SyntaxError: Unexpected number”?
- r - 如何在 R 中对多列条件进行子集化?
- symfony - DqlBuilder 不返回值,但 mysql 做