gpt4 book ai didi

java - 在 Java 中读/写文件

转载 作者:行者123 更新时间:2023-12-04 17:17:58 25 4
gpt4 key购买 nike

如果我有以下文件格式,如何在 Java 中轻松读取文件:

a|dip
a|dop
c|nap
a|dip
b|dop
b|sip
a|tang
c|dig
c|nap

我想获取属于“a”、“b”和“c”的所有单词。我可以使用什么数据结构来读取和存储这些信息?

您还可以建议一些易于在 Java 中读取/写入的良好文件格式(两列)。

我知道你们中的一些人可能在想我想要解决的真正问题是什么,我有一些复杂的员工相关数据。当前(较差的)系统生成一些文件,我正在尝试处理它们以将它们添加到数据库中。当前文件的格式有点复杂(私有(private)),我不能在这里复制过去。

最佳答案

如果您可以使用 Google Guava ( http://code.google.com/p/guava-libraries/ ),那么您将获得一些方便的类(您可以使用其中的部分或全部):

  1. com.google.common.io.Files
  2. com.google.common.io.LineProcessor<T>
  3. com.google.common.base.Charsets
  4. com.google.common.collect.Multimap<K,V>
  5. com.google.common.collect.ArrayListMultimap<K,V>

例如你可以这样写:

LineProcessor<Multimap<String, String>> processor = 
new LineProcessor<Multimap<String, String>>() {
Multimap<String, String> processed = ArrayListMultimap.create();

public boolean processLine(String line) {
String parts[] = line.split("\\|", 2); // 2 keeps any | in the rest of the line
processed.put(parts[0], parts[1]);
return true; // keep going
}

public Multimap<String, String> getResult() {
return processed;
}
};

Multimap<String, String> result = Files.readLines(
new File("filename.txt"), Charsets.UTF_8, processor);

关于java - 在 Java 中读/写文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5609711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com