读书人

java IO 资料读入写入重定向

发布时间: 2012-12-23 11:28:15 作者: rapoo

java IO 文件读入,写入,重定向

package star20110526;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintStream;import java.io.PrintWriter;public class Redirecting {public static void main(String[] args) throws IOException {redirect();//readFile();//write("B05\\star20110526\\Redirecting.txt", read());}private static void redirect() throws IOException{//将输出定位到PrintStrem,将 System.out重新定义ouputStreamPrintStream printStream = System.out;//定义输入流BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream("B05\\star20110526\\Redirecting.java"));//定义输出流PrintStream printStream2 = new PrintStream(new BufferedOutputStream(new FileOutputStream("B05\\star20110526\\Redirect.out")));//本来System.in是接受控制台参数的,现在将System.in重新定义到bufferedInputStreamSystem.setIn(bufferedInputStream);System.setErr(printStream2);System.setOut(printStream2);//InputStreamReader 为适配器,转换inputStream到Reader,你懂的BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));String string;while((string = bufferedReader.readLine()) != null){System.out.println(string);}printStream.close();printStream2.close();bufferedReader.close();System.setOut(printStream);}/** * 读取文件,然后直接在控制台打印出来 * @throws IOException */private static void readFile() throws IOException{File file = new File("B05\\star20110526\\Redirecting.java");FileReader fileReader = new FileReader(file);BufferedReader bufferedReader = new BufferedReader(fileReader);int i = 1;String string;while((string = bufferedReader.readLine()) != null){System.out.println(i++ +":"+string);}bufferedReader.close();}/** * 读取文件,返回文件内容,提供文件写入操作 * @return * @throws IOException */private static String read() throws IOException{File file = new File("B05\\star20110526\\Redirecting.java");BufferedReader bufferedReader = new BufferedReader(new FileReader(file));StringBuilder stringBuilder = new StringBuilder();String string;while((string  = bufferedReader.readLine()) != null){stringBuilder.append(string+"\n");}return stringBuilder.toString();}/** * 新建一个文件,然后往文件里面写文件咯 * @param file * @param text * @throws FileNotFoundException */private static void write(String file,String text) throws FileNotFoundException{File file2 = new File(file);PrintWriter printWriter = new PrintWriter(file2);printWriter.write(text);//必须关闭流,要不然出不来结果的,(_)#(_)#(_)#printWriter.close();}}
?

读书人网 >编程

热点推荐