Java代码

packagestar20110526;

importjava.io.BufferedInputStream;

importjava.io.BufferedOutputStream;

importjava.io.BufferedReader;

importjava.io.File;

importjava.io.FileInputStream;

importjava.io.FileNotFoundException;

importjava.io.FileOutputStream;

importjava.io.FileReader;

importjava.io.IOException;

importjava.io.InputStreamReader;

importjava.io.PrintStream;

importjava.io.PrintWriter;

publicclassRedirecting {

publicstaticvoidmain(String[] args)throwsIOException {

redirect();

//      readFile();

//      write("B05\\star20110526\\Redirecting.txt", read());

}

privatestaticvoidredirect()throwsIOException{

//将输出定位到PrintStrem,将 System.out重新定义ouputStream

PrintStream printStream = System.out;

//定义输入流

BufferedInputStream bufferedInputStream = newBufferedInputStream(

newFileInputStream("B05\\star20110526\\Redirecting.java"));

//定义输出流

PrintStream printStream2 = newPrintStream(

newBufferedOutputStream(newFileOutputStream("B05\\star20110526\\Redirect.out")));

//本来System.in是接受控制台参数的,现在将System.in重新定义到bufferedInputStream

System.setIn(bufferedInputStream);

System.setErr(printStream2);

System.setOut(printStream2);

//InputStreamReader 为适配器,转换inputStream到Reader,你懂的

BufferedReader bufferedReader = newBufferedReader(newInputStreamReader(System.in));

String string;

while((string = bufferedReader.readLine()) !=null){

System.out.println(string);

}

printStream.close();

printStream2.close();

bufferedReader.close();

System.setOut(printStream);

}

/**

* 读取文件,然后直接在控制台打印出来

* @throws IOException

*/

privatestaticvoidreadFile()throwsIOException{

File file = newFile("B05\\star20110526\\Redirecting.java");

FileReader fileReader = newFileReader(file);

BufferedReader bufferedReader = newBufferedReader(fileReader);

inti =1;

String string;

while((string = bufferedReader.readLine()) !=null){

System.out.println(i++ +":"+string);

}

bufferedReader.close();

}

/**

* 读取文件,返回文件内容,提供文件写入操作

* @return

* @throws IOException

*/

privatestaticString read()throwsIOException{

File file = newFile("B05\\star20110526\\Redirecting.java");

BufferedReader bufferedReader = newBufferedReader(

newFileReader(file));

StringBuilder stringBuilder = newStringBuilder();

String string;

while((string  = bufferedReader.readLine()) !=null){

stringBuilder.append(string+"\n");

}

returnstringBuilder.toString();

}

/**

* 新建一个文件,然后往文件里面写文件咯

* @param file

* @param text

* @throws FileNotFoundException

*/

privatestaticvoidwrite(String file,String text)throwsFileNotFoundException{

File file2 = newFile(file);

PrintWriter printWriter = newPrintWriter(file2);

printWriter.write(text);

//必须关闭流,要不然出不来结果的,(╰_╯)#(╰_╯)#(╰_╯)#

printWriter.close();

}

}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重新定义ouputStream

PrintStream 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重新定义到bufferedInputStream

System.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();

}

}

Java 重定向 无法写入_java IO 文件读入,写入,重定向相关推荐

  1. java将多个文件写入到一个文件流中再有规律的取出_编写java程序,往一个txt文件里写入学生的基本信息,然后再读出这些信息并打印出来,最后把该文件拷贝到指...

    满意答案 azonyb 2014.02.18 采纳率:59%    等级:12 已帮助:13223人 import java.io.BufferedInputStream; import java.i ...

  2. java io删除文件_java IO 文件操作方法总结

    java IO 文件操作方法总结 对于输入输出的理解: 输入输出,以程序为参考点,外部数据进入程序,通过输入流完成.程序将数据给外部设备,通过输出流完成. 文件Io的操作 //获取文件 File fi ...

  3. java io文件操作_java IO 文件操作方法总结

    java IO 文件操作方法总结 对于输入输出的理解: 输入输出,以程序为参考点,外部数据进入程序,通过输入流完成.程序将数据给外部设备,通过输出流完成. 文件Io的操作 //获取文件 File fi ...

  4. java.io设计模式_Java IO文件过滤器对命令设计模式的使用

    一. 点睛 java io流里面使用到了很多的设计模式,最典型的就是装饰模式,还有命令模式.通过对文件过滤器功能的简单使用,可以一窥java io流对命令设计模式的典型使用.下面分两部分来讲,先举例说 ...

  5. java字符流解析_Java IO(四):字符流详解

    一.字符流 字节流提供了处理任何类型输入/输出操作的功能(因为对于计算机而言,一切都是0和1,只需把数据以字节形式表示就够了),但它们不可以直接操作Unicode字符,因为一个Unicode字符占用2 ...

  6. 基于java洗浴中心管理系统_Java IO流详解

    流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  7. python读取txt文件写入-python txt文件的写入和读取

    1.文件的打开 使用open () 函数 打开文件.他有两个参数,文件路径或文件名和文件的打开方式. "r" 只读模式,不能编辑和删除文件内容. "w" 写入模 ...

  8. php追加写入,PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解

    本文实例讲述了PHP创建文件及写入数据(覆盖写入,追加写入)的方法.分享给大家供大家参考,具体如下: 这里主要介绍了PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码,需要的朋友可以参考下: 创 ...

  9. python创建一个文件并写入_python创建文件并写入

    python怎么以追加的方式写文件? Python 3.5 想将从1到10写入一个文件并且自动换行 现在需要一个写文件方法,将selenium的脚本运行结果写入test_result.log文件中 首 ...

最新文章

  1. leetcode算法题--Flatten Nested List Iterator
  2. Android入门:实现一个File存储的辅助类
  3. 启明云端分享|AIOT+智慧屏解决方案,用色彩渲染智慧生活
  4. leetcode 638. Shopping Offers | 638. 大礼包(动态规划,多约束背包问题)
  5. 基于阿里云 DNS API 实现的 DDNS 工具
  6. spring学习(5):spring简介
  7. Web框架——Flask系列之综合案例——图书管理系统(十)
  8. Jsoup获取动态js生成的内容
  9. Windows Server 2008 R2 RODC(只读域控制器)
  10. 25个深度学习开源数据集
  11. VM Workstation 虚拟机安装Ghost XP教程
  12. Python - OpenCV 图像二值化处理
  13. 如何打造一个高效的研发团队
  14. JSP中应用eWebEditor在线编辑器
  15. springboot starter自定义实现公共模块
  16. 计算机专业应聘范围,求职面试自我介绍范围
  17. delphi中Bmp转Jpeg JPG转BMP
  18. QQ农场破解思路(版本20091212)
  19. 三维视觉 | 03 MATLAB 单、双目相机标定
  20. 7000 字 23 张图,Pandas 一键生成炫酷的动态交互式图表

热门文章

  1. java单车吧_暑假一个月,撸个共享单车后台
  2. AD16画线时如何切换90°、45°、任意角度画线模式
  3. python杀死了excel_Python杀死了Excel|自动更新表格,告别繁琐
  4. spring JdbcTemplate数据库查询实例
  5. linux 定时java程序,Linux操作系统上定时运行Java程序的方法
  6. 石油化工设备维护检修规程_旋回破碎机横梁臂架、衬板、内外铜套检修步骤及设备检修维护要点...
  7. 安卓投屏大师_苹果,安卓手机如何免费投屏?只要悄悄按下这里,便能轻松实现...
  8. java mongodb 删除字段类型_Mongodb基本数据类型、常用命令之增加、更新、删除
  9. 【WinCE】流设备驱动简介及GPIO驱动的实现
  10. java删除换行符号_如何从Java中删除文件中的换行符?