Java 重定向 无法写入_java IO 文件读入,写入,重定向
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 文件读入,写入,重定向相关推荐
- java将多个文件写入到一个文件流中再有规律的取出_编写java程序,往一个txt文件里写入学生的基本信息,然后再读出这些信息并打印出来,最后把该文件拷贝到指...
满意答案 azonyb 2014.02.18 采纳率:59% 等级:12 已帮助:13223人 import java.io.BufferedInputStream; import java.i ...
- java io删除文件_java IO 文件操作方法总结
java IO 文件操作方法总结 对于输入输出的理解: 输入输出,以程序为参考点,外部数据进入程序,通过输入流完成.程序将数据给外部设备,通过输出流完成. 文件Io的操作 //获取文件 File fi ...
- java io文件操作_java IO 文件操作方法总结
java IO 文件操作方法总结 对于输入输出的理解: 输入输出,以程序为参考点,外部数据进入程序,通过输入流完成.程序将数据给外部设备,通过输出流完成. 文件Io的操作 //获取文件 File fi ...
- java.io设计模式_Java IO文件过滤器对命令设计模式的使用
一. 点睛 java io流里面使用到了很多的设计模式,最典型的就是装饰模式,还有命令模式.通过对文件过滤器功能的简单使用,可以一窥java io流对命令设计模式的典型使用.下面分两部分来讲,先举例说 ...
- java字符流解析_Java IO(四):字符流详解
一.字符流 字节流提供了处理任何类型输入/输出操作的功能(因为对于计算机而言,一切都是0和1,只需把数据以字节形式表示就够了),但它们不可以直接操作Unicode字符,因为一个Unicode字符占用2 ...
- 基于java洗浴中心管理系统_Java IO流详解
流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- python读取txt文件写入-python txt文件的写入和读取
1.文件的打开 使用open () 函数 打开文件.他有两个参数,文件路径或文件名和文件的打开方式. "r" 只读模式,不能编辑和删除文件内容. "w" 写入模 ...
- php追加写入,PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
本文实例讲述了PHP创建文件及写入数据(覆盖写入,追加写入)的方法.分享给大家供大家参考,具体如下: 这里主要介绍了PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码,需要的朋友可以参考下: 创 ...
- python创建一个文件并写入_python创建文件并写入
python怎么以追加的方式写文件? Python 3.5 想将从1到10写入一个文件并且自动换行 现在需要一个写文件方法,将selenium的脚本运行结果写入test_result.log文件中 首 ...
最新文章
- leetcode算法题--Flatten Nested List Iterator
- Android入门:实现一个File存储的辅助类
- 启明云端分享|AIOT+智慧屏解决方案,用色彩渲染智慧生活
- leetcode 638. Shopping Offers | 638. 大礼包(动态规划,多约束背包问题)
- 基于阿里云 DNS API 实现的 DDNS 工具
- spring学习(5):spring简介
- Web框架——Flask系列之综合案例——图书管理系统(十)
- Jsoup获取动态js生成的内容
- Windows Server 2008 R2 RODC(只读域控制器)
- 25个深度学习开源数据集
- VM Workstation 虚拟机安装Ghost XP教程
- Python - OpenCV 图像二值化处理
- 如何打造一个高效的研发团队
- JSP中应用eWebEditor在线编辑器
- springboot starter自定义实现公共模块
- 计算机专业应聘范围,求职面试自我介绍范围
- delphi中Bmp转Jpeg JPG转BMP
- QQ农场破解思路(版本20091212)
- 三维视觉 | 03 MATLAB 单、双目相机标定
- 7000 字 23 张图,Pandas 一键生成炫酷的动态交互式图表
热门文章
- java单车吧_暑假一个月,撸个共享单车后台
- AD16画线时如何切换90°、45°、任意角度画线模式
- python杀死了excel_Python杀死了Excel|自动更新表格,告别繁琐
- spring JdbcTemplate数据库查询实例
- linux 定时java程序,Linux操作系统上定时运行Java程序的方法
- 石油化工设备维护检修规程_旋回破碎机横梁臂架、衬板、内外铜套检修步骤及设备检修维护要点...
- 安卓投屏大师_苹果,安卓手机如何免费投屏?只要悄悄按下这里,便能轻松实现...
- java mongodb 删除字段类型_Mongodb基本数据类型、常用命令之增加、更新、删除
- 【WinCE】流设备驱动简介及GPIO驱动的实现
- java删除换行符号_如何从Java中删除文件中的换行符?