中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中System.in的作用是什么

發布時間:2021-06-09 17:53:24 來源:億速云 閱讀:191 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關Java中System.in的作用是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Cat {
  public static void main(String[] args) throws IOException {
    //是否顯示行號,使用參數 -n 啟用
    boolean showNumber = args.length > 0 && Arrays.asList(args).contains("-n");
    int num = 0;
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    String line = reader.readLine();
    while (line != null) {
      if (showNumber) {
        num++;
        System.out.printf("%1$8s %2$s%n", num, line);
      } else {
        System.out.println(line);
      }
      line = reader.readLine();
    }
  }
}

這個方法中用到了參數,參數只用于判斷是否存在-n這個參數,沒有通過參數指定文件。

這里獲取文件內容的方式就是 System.in,從輸入流中讀取。輸入流中怎么提供文件內容呢?

就是通過輸入重定向到命令。針對上面的 Cat.java 文件執行下面的命令:

javac Cat.java
java Cat -n < Cat.java

先使用 javac 編譯,在通過 java 命令執行,通過輸入重定向將Cat.java 作為命令的輸入流。

上面命令執行后,輸出內容如下:

 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.util.Arrays;
 public class Cat {
   public static void main(String[] args) throws IOException {
     boolean showNumber = args.length > 0 && Arrays.asList(args).contains("-n");
     int num = 0;
     BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
     String line = reader.readLine();
     while (line != null) {
       if (showNumber) {
         num++;
         System.out.printf("%1$8s %2$s%n", num, line);
       } else {
         System.out.println(line);
       }
       line = reader.readLine();
     }
   }
 }

如果只是處理文件,和參數方式指定文件路徑沒太大的區別。但是如果通過管道方式,就可以很方便的將前面命令的輸出流作為輸入流繼續進行處理。例如下面的命令:

java Cat -n < Cat.java | java Cat -n

前一個命令的輸出會作為第二個命令的輸入,這會在原有行號的基礎上增加一個行號,結果如下:

 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.util.Arrays;
 public class Cat {
   public static void main(String[] args) throws IOException {
     boolean showNumber = args.length > 0 && Arrays.asList(args).contains("-n");
     int num = 0;
     BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
     String line = reader.readLine();
     while (line != null) {
       if (showNumber) {
        num++;
         System.out.printf("%1$8s %2$s%n", num, line);
       } else {
         System.out.println(line);
       }
       line = reader.readLine();
     }
   }
 }

以上就是Java中System.in的作用是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

灌南县| 马公市| 姚安县| 扎兰屯市| 临汾市| 漳浦县| 新巴尔虎右旗| 金溪县| 巴南区| 洞头县| 曲阳县| 东乡族自治县| 兴海县| 阳谷县| 伊宁市| 威海市| 宜君县| 霞浦县| 利川市| 永川市| 镇原县| 澎湖县| 固阳县| 武安市| 闵行区| 淮安市| 阜平县| 扬州市| 买车| 屏东市| 安岳县| 从化市| 夹江县| 永福县| 泰顺县| 林周县| 团风县| 台南县| 呼玛县| 贡嘎县| 迁西县|