Java是一種面向?qū)ο缶幊陶Z言,常用于開發(fā)Web應(yīng)用、移動(dòng)應(yīng)用、桌面應(yīng)用等。在Java中,輸入輸出重定向是一種非常重要的功能,可以使程序的輸入和輸出與標(biāo)準(zhǔn)輸入輸出流分離,方便程序調(diào)試和運(yùn)行。
輸入重定向是指將外部文件的內(nèi)容作為Java程序的輸入數(shù)據(jù)。下面是一個(gè)簡(jiǎn)單的示例代碼:
import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class InputRedirect { public static void main(String[] args) { try { BufferedReader br = new BufferedReader(new FileReader("input.txt")); String line = null; while ((line = br.readLine()) != null) { System.out.println(line); } br.close(); } catch (IOException e) { e.printStackTrace(); } } }
在上述代碼中,我們使用了BufferedReader來讀取input.txt文件中的內(nèi)容,然后打印到控制臺(tái)上。這里向程序傳遞了一個(gè)外部文件作為輸入,所以程序會(huì)從文件中讀取數(shù)據(jù)。但是,如果沒有使用輸入重定向,程序就只能從鍵盤輸入數(shù)據(jù)。使用輸入重定向可以方便地測(cè)試程序,而不必手動(dòng)輸入數(shù)據(jù)。
輸出重定向是將程序的輸出數(shù)據(jù)輸出到指定的文件中,而不是控制臺(tái)上。下面是一個(gè)示例代碼:
import java.io.BufferedOutputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintStream; public class OutputRedirect { public static void main(String[] args) { try { PrintStream ps = new PrintStream(new BufferedOutputStream(new FileOutputStream("output.txt"))); System.setOut(ps); System.out.println("Hello, world!"); ps.close(); } catch (IOException e) { e.printStackTrace(); } } }
在上述代碼中,我們使用PrintStream來輸出數(shù)據(jù),并將輸出流指定為output.txt文件。這樣一來,程序運(yùn)行時(shí)輸出的數(shù)據(jù)會(huì)被寫入到文件中,而不是在控制臺(tái)上顯示。這個(gè)功能也非常有用,可以方便地將程序的輸出信息保存下來,后期分析和處理。