ファイルのJava 8から行を読み込むとの間に侵入するための最良の方法

A.Dev:

Files.lines().forEach()方法は許可されていませんbreakチャンクでのJava 8の行を読み、必要なときに破るための最適な方法は何ですか?

アップデート1:例外の例。

public class Main {
public static void main(String[] args) {

    try(IntStream s = IntStream.range(0, 5);){
    s.forEach(i -> validate(i));

    }catch(Exception ex){
    System.out.println("Hello World!");    
    }
}
static void validate(int s){

    if(s > 1){            
        //throw new Exception(); ?
    }
    System.out.println(s);
} }
デッドプール :

これは、java-9を使用して簡単ですtakeWhile、だから、条件(S <1)が、それはストリームの残りの部分をドロップします失敗したときに、ここで

要素が述語と一致しないことに遭遇したとき、ストリームの残りは破棄されます。

s.takeWhile(s -> s < 1).forEach(System.out::println);

Javaの-8を用いて、実施例を試してみましたが、これはなく、すべての効率的としてtakeWhile組み合わせることで、peek及びfindFirst()ではなく、これよりも意味をなさないダブルチェック条件を持っている必要があります私は、標準のwhileループを好むだろう

IntStream.range(0, 5).peek(i->{
         if(i<3) {
             System.out.println(i);
         }

     }).filter(j->j>=3).findFirst();

これまでの述語で検証時にのぞくと、ストリーム内のアクションが解除されますか findFirst

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=215555&siteId=1