1. 程式人生 > >Java中的輸入和輸出重定向

Java中的輸入和輸出重定向

        在Java程式中,如果需要輸入大量的數值,那麼從鍵盤上輸入是非常繁瑣的事。可以將這些資料用空格隔開,儲存在一個名為input.txt的文字檔案中,然後使用Java輸入和輸出重定向。例如需要迴圈求和計算,新建一個input.txt的文字檔案(資料以0結尾,因為下面的求和運算程式是以0作為程式終止求和的條件),檔案中存入資料1 5 7 9 13 16 17 15  0。求和運算的Java程式名為Sumdata.java,則重定向過程如下:

①編譯Java程式:javac Sumdata.java

②輸入重定向:java Sumdata < input.txt

③得到求和結果,而不再需要從鍵盤輸入資料。

        類似地,還有輸出重定向,輸出重定向將輸出傳送給檔案,而不是將它們顯示在控制檯上。輸出重定向的命令為:java ClassName > output.txt。還可以在同一命令中同時使用輸入重定向和輸出重定向。例如,從檔案input.txt中獲取輸入,並將輸出傳送給檔案output.txt:java Sumdata < input.txt > output.txt。

附Sumdata.java程式:

import java.util.Scanner;

public class Sumdata {
public static void main(String[] args) {
// TODO Auto-generated method stub
   Scanner indata = new Scanner(System.in);

// Read an initial data

   System.out.print( "Enter an int value (the program exits if the input is 0): ");
   int data = indata.nextInt();
// Keep reading data until the input is 0
   int sum = 0;
   while (data != 0) {
    sum += data;

// Read the next data
     System.out.print( "Enter an int value (the program exits if the input is 0): ");
     data = indata.nextInt();
   }
   System.out.println("The sum is " + sum);
}
}

注:如果出現下面的情況,找不到或無法載入主類Sumdata,注意檢查java程式中是否帶有包名,如package demo;,將程式中的package語句刪除即可。