切割流的好方法是什么? 我刚开始使用java 8而且我遇到了这个问题。 我正在从文件中读取几个输入日期然后打印它们。我的问题是如何在日期和字符串之间精确切割? 可以使用“标签”吗? 到目前为止我所拥有的:
public static void main( String[] args ) throws IOException
{
Supplier<Stream<String>> fisier=()->{
try {
return Files.lines(Paths.get("Activities.txt"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
};
fisier.get().forEach(System.out::println);
//fisier.get().filter(predicate)
//List<String>out=getFilterOutput(fisier.get()," ");
}
我考虑过滤信息,但我怎么知道看什么&gt;? 该文件中的一行如下所示:
2011-12-11 15:43:51 2011-12-11 21:41:48 Spare_Time / TV
答案 0 :(得分:1)
你可以这样做:
List <String> firstDate = new ArrayList<>();
List <String> secondDate = new ArrayList<>();
List <String> showName = new ArrayList<>();
try (Stream<String> stream = Files.lines(Paths.get(fileName))) {
stream.forEach(line -> {
String[] parts = line.split("\\s+");
firstDate.add(parts[0] + parts[1]);
secondDate.add(parts[2] + parts[3]);
showName.add(parts[4]);
});
} catch (IOException e) {
e.printStackTrace();
}