我有一个包含如下值的文本文件:
name1, value1, number 1,
name2, value2, number 2,
我在这个文件中搜索第一个值(比如说name2),我想在列表中放入value2和number2。我怎样才能做到这一点?对于第一个值我做了但我不知道如何存储该行的所有日期..
public static List<String> findLocalityValues(String path, String word) throws FileNotFoundException {
Scanner scanner = new Scanner(new File(path)).useDelimiter(word + ",");
List<String> list = new ArrayList<String>();
while (scanner.hasNext()) {
String found = scanner.next();
list.add(found.substring(0, found.indexOf(',')));
}
return list;
}
答案 0 :(得分:0)
你使它变得比它需要的更复杂。您应该使用内置的java实用程序。尝试这样的事情:
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;
byte[] contentbytes = Files.readAllBytes(Paths.get("path"));
String filecontents = StandardCharsets.UTF_8.decode(ByteBuffer.wrap(contentbytes)).toString();
filecontents = filecontents.substring(filecontents.indexOf("name"));
filecontents = filecontents.substring(0,StringUtils.ordinalIndexOf(filecontents,",", 3));
List<String> myList = Arrays.asList(filecontents.split("\\s*,\\s*"));