使用 bufferedReader 将文本文件中的特定文本存储到数组中
Store specific piece of text from text file into array using bufferedReader
-Java- 我有一个文本文件,其中每一行都存储了 ID 号、名字和姓氏。我正在使用 BufferedReader 逐行显示文本文件。但是,我只需要从每一行中获取 ID 号并将其存储到一个数组中。如果有人可以提供帮助,将不胜感激。
正如您所说,您已经在打印从文件中读取的行,接下来您只需要使用文件中的分隔符拆分行。假设你有逗号作为分隔符,你需要做的就是用逗号分割行并访问第一个元素并将它存储在 List
,
这里是示例代码,
public static void main(String[] args) throws Exception {
try(BufferedReader br = new BufferedReader(new FileReader("filename.txt"))) {
String line = null;
List<String> idList = new ArrayList<String>();
while((line = br.readLine()) != null) {
System.out.println(line); // you already printing it
String[] tokens = line.split("\s*,\s*"); // assuming your line is like this --> 123, Pushpesh, Rajwanshi
if (tokens.length > 0) {
idList.add(tokens[0]); // ID will be accessed at zero index
}
}
idList.forEach(System.out::println);
}
}
使用Java8及更高版本,您可以在一个班轮中完成。
List<String> idList = Files.lines(Paths.get("filename.txt")).filter(x -> x.trim().length() > 0)
.map(x -> x.split("\s*,\s*")).map(x -> x[0]).collect(Collectors.toList());
idList.forEach(System.out::println);
List<String> idList = Files.readAllLines(
Paths.get(FILE_PATH),
Charset.defaultCharset()
).stream()
.map(line -> line.split(SEPARATOR)[DATA_INDEX])
.collect(Collectors.toList());
FILE_PATH = 文件位置 ("c://users//..").
SEPARATOR = 分隔数据 (1:NAME:LAST_NAME < ex 的分隔符 = ":").
DATA_INDEX = 数据索引(1:NAME:LAST_NAME < ex = 0 的 id 索引)。
-Java- 我有一个文本文件,其中每一行都存储了 ID 号、名字和姓氏。我正在使用 BufferedReader 逐行显示文本文件。但是,我只需要从每一行中获取 ID 号并将其存储到一个数组中。如果有人可以提供帮助,将不胜感激。
正如您所说,您已经在打印从文件中读取的行,接下来您只需要使用文件中的分隔符拆分行。假设你有逗号作为分隔符,你需要做的就是用逗号分割行并访问第一个元素并将它存储在 List
,
这里是示例代码,
public static void main(String[] args) throws Exception {
try(BufferedReader br = new BufferedReader(new FileReader("filename.txt"))) {
String line = null;
List<String> idList = new ArrayList<String>();
while((line = br.readLine()) != null) {
System.out.println(line); // you already printing it
String[] tokens = line.split("\s*,\s*"); // assuming your line is like this --> 123, Pushpesh, Rajwanshi
if (tokens.length > 0) {
idList.add(tokens[0]); // ID will be accessed at zero index
}
}
idList.forEach(System.out::println);
}
}
使用Java8及更高版本,您可以在一个班轮中完成。
List<String> idList = Files.lines(Paths.get("filename.txt")).filter(x -> x.trim().length() > 0)
.map(x -> x.split("\s*,\s*")).map(x -> x[0]).collect(Collectors.toList());
idList.forEach(System.out::println);
List<String> idList = Files.readAllLines(
Paths.get(FILE_PATH),
Charset.defaultCharset()
).stream()
.map(line -> line.split(SEPARATOR)[DATA_INDEX])
.collect(Collectors.toList());
FILE_PATH = 文件位置 ("c://users//..").
SEPARATOR = 分隔数据 (1:NAME:LAST_NAME < ex 的分隔符 = ":").
DATA_INDEX = 数据索引(1:NAME:LAST_NAME < ex = 0 的 id 索引)。