java.lang.System提供了三個靜態變量
System提供了三個重定向方法
方法 | 說明 |
static void setErr(PRintStream errr) | 重定向標準錯誤輸出流 |
static void setIn(InputStream in ) | 重定向標準輸入流 |
static void setOut(PrintStream out) | 重定向歀輸出流 |
package com.pb.io.reio;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;/* * 重定向輸入 * 1.有一個已經初始化的InputStream輸入流 * 2.調用System.setIn()方法,將標淮輸入流重定向到目的輸入流 * 3.讀取System.in中的內容 */public class ReIn { public static void main(String[] args) throws UnsupportedEncodingException { try { //1.聲明一個輸入流 FileInputStream fis=new FileInputStream("d:/test/s1.txt"); //2.重定向 System.setIn(fis); //3.讀取System.in標準輸入流中的內容 BufferedReader br=new BufferedReader(new InputStreamReader(System.in,"gb2312")); //設置字符編碼 //4.輸出System.in中的內容 String line=null; while((line=br.readLine())!=null){ System.out.println(line); } //5.關閉流 br.close(); fis.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}3.2、重定向輸出流
package com.pb.io.reio;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.PrintStream;/* * 重定向標淮輸出流 * 1.初始化PrintStream對象 * 2.調用System.setOut()方法,將標淮輸出流重定向至PrintStream對象 * 3.操作System.out流, */public class ReOut { public static void main(String[] args) { try { //1.聲明一個輸出流PrintStream對象 PrintStream ps=new PrintStream(new FileOutputStream("d:/test/ps.txt",true)); //追加內容 //2.重定向標淮輸出流 System.setOut(ps); //3.使用PrintStream對象向流中寫信息 System.out.println("測試重定向成功了沒有!"); System.out.println(new ReOut()); ps.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } }}
新聞熱點
疑難解答