繁体   English   中英

Java8中的流切割

[英]Stream cutting in java8

削减流量的好方法是什么? 我刚开始使用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(),"    ");
    }

我已经考虑过过滤信息,但是我该如何判断外观>? 文件中的一行如下所示:

2011-12-11 15:43:51 2011-12-11 21:41:48 Spare_Time / TV

您可以这样做:

    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();
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM