<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ### [正則表達式](https://lingcoder.gitee.io/onjava8/#/book/14-Streams?id=%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f) Java 的正則表達式將在[字符串](https://lingcoder.gitee.io/onjava8/#/18-Strings)這一章節詳細介紹。Java 8 在`java.util.regex.Pattern`中增加了一個新的方法`splitAsStream()`。這個方法可以根據傳入的公式將字符序列轉化為流。但是有一個限制,輸入只能是**CharSequence**,因此不能將流作為`splitAsStream()`的參數。 我們再一次查看將文件轉換為單詞的過程。這一次,我們使用流將文件轉換為一個字符串,接著使用正則表達式將字符串轉化為單詞流。 ~~~ // streams/FileToWordsRegexp.java import java.io.*; import java.nio.file.*; import java.util.stream.*; import java.util.regex.Pattern; public class FileToWordsRegexp { private String all; public FileToWordsRegexp(String filePath) throws Exception { all = Files.lines(Paths.get(filePath)) .skip(1) // First (comment) line .collect(Collectors.joining(" ")); } public Stream<String> stream() { return Pattern .compile("[ .,?]+").splitAsStream(all); } public static void main(String[] args) throws Exception { FileToWordsRegexp fw = new FileToWordsRegexp("Cheese.dat"); fw.stream() .limit(7) .map(w -> w + " ") .forEach(System.out::print); fw.stream() .skip(7) .limit(2) .map(w -> w + " ") .forEach(System.out::print); } } ~~~ 輸出結果: ~~~ Not much of a cheese shop really is it ~~~ 在構造器中我們讀取了文件中的所有內容(跳過第一行注釋,并將其轉化成為單行字符串)。現在,當你調用`stream()`的時候,可以像往常一樣獲取一個流,但這次你可以多次調用`stream()`在已存儲的字符串中創建一個新的流。這里有個限制,整個文件必須存儲在內存中;在大多數情況下這并不是什么問題,但是這損失了流操作非常重要的優勢: 1. “不需要把流存儲起來。”當然,流確實需要一些內部存儲,但存儲的只是序列的一小部分,和存儲整個序列不同。 2. 它們是懶加載計算的。 幸運的是,我們稍后就會知道如何解決這個問題。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看