看一个关于io流的例子:
import java.io.*;
public class RedirectOutputStream {
public static void main(String[] args) {
try {
PrintStream out = System.out;
PrintStream ps = new PrintStream("C:\\Documents and Settings\\Administrator\\桌面\\log.txt");
System.setOut(ps);
int age = 18;
System.out.println("年龄定义,初始值18");
String sex = "女";
System.out.println("性别定义,女");
String info = "这是一个" + sex + "孩子" + "年龄为" + age;
System.out.println("整合了两个变量" + info);
System.setOut(out);
System.out.println("程序运行完毕");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
输出到桌面的 log.txt中的内容为:
年龄定义,初始值18
性别定义,女
整合了两个变量这是一个女孩子年龄为18
对于输出结果的详解析:
1.PrintStream out=System.out;
创建一个打印流out,此流已打开并准备接受输出数据。
2.PrintStream ps = new PrintStream("C:\\...");
创建又一具有指定文件名的打印流ps(不带自动刷新)
3.System.setOut(ps); //若去掉此句,则内容都会在console面板中输出
重新分配“标准”输出流,重定向输出到ps对象中(即指定路径名文件中)
4.System.out.println("年龄定义,初始值18");
在已定向的输出路径中打印输出字符串内容
5.System.setOut(out);
重定向输出到out对象中(即屏幕上)