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重定向方法从文件中读入或写入数据是Java编程中的一种常见操作。重定向方法可以将控制台的输入或输出重定向到文件中,从而实现从文件中读入或写入数据。下面我们将详细...
在Java中,可以读取大文件,每次处理一部分内容,然后写入新文件。 5. **处理文件前的磁盘空间检查** - 在执行文件操作前,通常需要检查磁盘空间是否足够。`getDiskUsage`方法实现了这一功能,它找出与给定路径...
* 从文件而不是从键盘或句柄读入命令输入。 * >>:将命令输出添加到文件末尾而不删除文件中已有的信息。 * 将一个句柄的输出写入到另一个句柄的输入中。 * <>:从一个句柄读取输入并将其写入到另一个句柄输出中。 * ...
使用重定向cin,从磁盘文件test.data读入测试数据",意味着我们要模拟键盘输入,从预先存在的文本文件"test.data"中读取数据。这可以通过命令行参数或者操作系统特性来实现。在Unix/Linux/Mac系统中,我们可以使用...
第10章 Java IO系统 10.1 输入和输出 10.1.1 InputStream的类型 10.1.2 OutputStream的类型 10.2 增添属性和有用的接口 10.2.1 通过FilterInputStream从InputStream里读入数据 10.2.2 通过FilterOutputStream向...
10.7.5 重定向标准IO 10.8 压缩 10.8.1 用GZIP进行简单压缩 10.8.2 用Zip进行多文件保存 10.8.3 Java归档(jar)实用程序 10.9 对象串联 10.9.1 寻找类 10.9.2 序列化的控制 10.9.3 利用“持久性” 10.10 总结 10.11...
10.7.5 重定向标准IO 10.8 压缩 10.8.1 用GZIP进行简单压缩 10.8.2 用Zip进行多文件保存 10.8.3 Java归档(jar)实用程序 10.9 对象串联 10.9.1 寻找类 10.9.2 序列化的控制 10.9.3 利用“持久性” 10.10 总结 10.11...
10.7.5 重定向标准IO 10.8 压缩 10.8.1 用GZIP进行简单压缩 10.8.2 用Zip进行多文件保存 10.8.3 Java归档(jar)实用程序 10.9 对象串联 10.9.1 寻找类 10.9.2 序列化的控制 10.9.3 利用“持久性” 10.10 总结 10.11...
10.7.5 重定向标准IO 10.8 压缩 10.8.1 用GZIP进行简单压缩 10.8.2 用Zip进行多文件保存 10.8.3 Java归档(jar)实用程序 10.9 对象串联 10.9.1 寻找类 10.9.2 序列化的控制 10.9.3 利用“持久性” 10.10 总结 10.11...
10.7.5 重定向标准IO 10.8 压缩 10.8.1 用GZIP进行简单压缩 10.8.2 用Zip进行多文件保存 10.8.3 Java归档(jar)实用程序 10.9 对象串联 10.9.1 寻找类 10.9.2 序列化的控制 10.9.3 利用“持久性” 10.10 总结 10.11...
10.7.5 重定向标准IO 10.8 压缩 10.8.1 用GZIP进行简单压缩 10.8.2 用Zip进行多文件保存 10.8.3 Java归档(jar)实用程序 10.9 对象串联 10.9.1 寻找类 10.9.2 序列化的控制 10.9.3 利用“持久性” 10.10 总结 10.11...
本书是第II卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行桌面程序开发各个方面的知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作...
10.7.5 重定向标准IO 10.8 压缩 10.8.1 用GZIP进行简单压缩 10.8.2 用Zip进行多文件保存 10.8.3 Java归档(jar)实用程序 10.9 对象串联 10.9.1 寻找类 10.9.2 序列化的控制 10.9.3 利用“持久性” 10.10 ...
10.7.5 重定向标准IO 10.8 压缩 10.8.1 用GZIP进行简单压缩 10.8.2 用Zip进行多文件保存 10.8.3 Java归档(jar)实用程序 10.9 对象串联 10.9.1 寻找类 10.9.2 序列化的控制 10.9.3 利用“持久性” 10.10 总结 10.11...
10.7.5 重定向标准IO 10.8 压缩 10.8.1 用GZIP进行简单压缩 10.8.2 用Zip进行多文件保存 10.8.3 Java归档(jar)实用程序 10.9 对象串联 10.9.1 寻找类 10.9.2 序列化的控制 10.9.3 利用“持久性” 10.10 总结 10.11...
10.7.5 重定向标准IO 10.8 压缩 10.8.1 用GZIP进行简单压缩 10.8.2 用Zip进行多文件保存 10.8.3 Java归档(jar)实用程序 10.9 对象串联 10.9.1 寻找类 10.9.2 序列化的控制 10.9.3 利用“持久性” 10.10 总结 10.11...