<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Java `InputStreamReader`教程 原文:http://zetcode.com/java/inputstreamreader/ Java `InputStreamReader`教程顯示了如何使用 Java `InputStreamReader`來讀取 Java 中的文本。 ## Java `InputStreamReader` `JavaInputStreamReader`是字節流和字符流之間的橋梁。 它讀取字節,并使用指定的字符集將其解碼為字符。 建議將`InputStreamReader`包裹在`BufferedReader`中以獲得最佳效率。 請注意,在 Java 中使用字符流時,應避免使用依賴于默認編碼的流,例如`FileReader`或`PrintWriter`。 ## Java `InputStreamReader`文件流 在第一個示例中,我們使用`InputStreamReader`從文件流中讀取文本。 `russiantext.txt` ```java Пе?рвая мирова?я война? (28 июля 1914 — 11 ноября 1918) — один из самых широкомасштабных вооружённых конфликтов в истории человечества. Формальным поводом к войне послужили события в Сараеве, где 28 июня 1914 года девятнадцатилетний боснийский серб, студент Гаврило Принцип осуществил покушение, в результате которого был убит австрийский эрцгерцог Франц Фердинанд и его морганатическая жена София Хотек. ``` 我們有西里爾文文字。 `JavaInputStreamReaderEx.java` ```java package com.zetcode; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; public class JavaInputStreamReaderEx { public static void main(String[] args) throws FileNotFoundException, IOException { String fileName = "src/main/resources/russiantext.txt"; try (FileInputStream fis = new FileInputStream(fileName); InputStreamReader isr = new InputStreamReader(fis, StandardCharsets.UTF_8); BufferedReader br = new BufferedReader(isr)) { String line; while ((line = br.readLine()) != null) { System.out.println(line); } } } } ``` 該示例讀取位于`src/main/resources`目錄中的俄語小文本。 ```java try (FileInputStream fis = new FileInputStream(fileName); InputStreamReader isr = new InputStreamReader(fis, StandardCharsets.UTF_8); BufferedReader br = new BufferedReader(isr)) { ``` `FileInputStream`用于創建文件流。 `FileInputStream`包裝在`InputStreamReader`中,用于讀取文本數據。 我們設置`StandardCharsets.UTF_8`編碼。 最后,為了獲得最佳效率,將`InputStreamReader`包裝到`BufferedReader`中。 ## Java `InputStreamReader`標準輸入流 第二個示例使用`InputStreamReader`從標準輸入流讀取文本。 `JavaInputStreamReaderEx2.java` ```java package com.zetcode; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; public class JavaInputStreamReaderEx2 { public static void main(String[] args) throws IOException { try (BufferedReader bin = new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8))) { String line; System.out.print("Give me a cookie: "); while (!(("cookie").equals(line = bin.readLine()))) { System.out.println(line); System.out.print("Give me a cookie: "); } } } } ``` 該示例顯示提示并等待用戶的響應。 程序在收到正確的輸入后結束。 ```java try (BufferedReader bin = new BufferedReader(new InputStreamReader(System.in))) { ``` 我們使用`System.in`從標準輸入中讀取。 ## Java `InputStreamReader` URL 流 下面的示例使用`InputStreamReader`從網絡流中讀取文本。 `JavaInputStreamReaderEx3.java` ```java package com.zetcode; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.nio.charset.StandardCharsets; public class JavaInputStreamReaderEx3 { public static void main(String[] args) throws MalformedURLException, IOException { StringBuilder sb; URL url = new URL("http://www.something.com"); try (InputStreamReader isr = new InputStreamReader(url.openStream(), StandardCharsets.UTF_8); BufferedReader br = new BufferedReader(isr)) { String line; sb = new StringBuilder(); while ((line = br.readLine()) != null) { sb.append(line); sb.append(System.lineSeparator()); } } System.out.println(sb.toString()); } } ``` 該示例從網站讀取文本。 ```java try (InputStreamReader isr = new InputStreamReader(url.openStream(), StandardCharsets.UTF_8); BufferedReader br = new BufferedReader(isr)) { ``` 該示例從指定的 URL 打開流。 它從`something.com`網頁讀取 HTML 代碼。 下一個示例調用 Alexa Web 服務來確定網站的排名。 `JavaInputStreamReaderEx4.java` ```java package com.zetcode; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; public class JavaInputStreamReaderEx4 { public static void main(String[] args) throws MalformedURLException, IOException, ParserConfigurationException, SAXException { String webSite = "www.something.com"; int ranking = 0; String url = String.format("http://data.alexa.com/data?cli=10&url=%s", webSite); URLConnection conn = new URL(url).openConnection(); try (InputStream is = conn.getInputStream()) { DocumentBuilder builder = DocumentBuilderFactory.newInstance() .newDocumentBuilder(); Document doc = builder.parse(is); Element element = doc.getDocumentElement(); NodeList nodeList = element.getElementsByTagName("POPULARITY"); if (nodeList.getLength() > 0) { Element elementAttribute = (Element) nodeList.item(0); ranking = Integer.valueOf(elementAttribute.getAttribute("TEXT")); } } System.out.printf("Ranking of %s: %d%n", webSite, ranking); } } ``` 該示例接收 XML 輸入,并使用 Java DOM 解析器對其進行解析。 ```java NodeList nodeList = element.getElementsByTagName("POPULARITY"); if (nodeList.getLength() > 0) { Element elementAttribute = (Element) nodeList.item(0); ranking = Integer.valueOf(elementAttribute.getAttribute("TEXT")); } ``` 該排名在`POPULARITY`標簽的`TEXT`屬性中可用。 在本教程中,我們展示了如何使用 Java `InputStreamReader`來讀取 Java 中的文本。 您可能也對相關教程感興趣: [Java `FileInputStream`教程](/java/fileinputstream/), [Java `InputStream`教程](/java/inputstream/),[用 Java 閱讀文本文件](/articles/javareadtext/), [Jsoup 教程](/java/jsoup/) 和 [Java 教程](/lang/java/)。
                  <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>

                              哎呀哎呀视频在线观看