输入输出重定向

【例子1】输入输出重定向


import java.io.File;  
import java.io.FileNotFoundException;  
import java.io.FileOutputStream;   
import java.io.PrintStream;   



/**  
 * 为System.out.println()重定向输出  
 */  

public class systemDemo{

    public static void main(String[] args){

        // 此刻直接输出到屏幕

        System.out.println("hello");

        File file = new File("d:" + File.separator + "hello.txt");

        try{

            System.setOut(new PrintStream(new FileOutputStream(file)));

        }catch(FileNotFoundException e){

            e.printStackTrace();

        }

        System.out.println("这些内容在文件中才能看到哦!");

    }

}

【运行结果】:

eclipse的控制台输出的是hello。然后当我们查看d盘下面的hello.txt文件的时候,会在里面看到:这些内容在文件中才能看到哦!

【例子2】


import java.io.File;   
import java.io.FileNotFoundException;   
import java.io.FileOutputStream;  
import java.io.PrintStream;  


/**  
 * System.err重定向 这个例子也提示我们可以使用这种方法保存错误信息   
 */  

public class systemErr{

    public static void main(String[] args){

        File file = new File("d:" + File.separator + "hello.txt");

        System.err.println("这些在控制台输出");

        try{

            System.setErr(new PrintStream(new FileOutputStream(file)));

        }catch(FileNotFoundException e){

            e.printStackTrace();

        }

        System.err.println("这些在文件中才能看到哦!");

    }

}

【运行结果】:

你会在eclipse的控制台看到红色的输出:“这些在控制台输出”,然后在d盘下面的hello.txt中会看到:这些在文件中才能看到哦!

【例子3】


import java.io.File;  
import java.io.FileInputStream;  
import java.io.FileNotFoundException;  
import java.io.IOException;   


/**  
 * System.in重定向  
 */  

public class systemIn{

    public static void main(String[] args){

        File file = new File("d:" + File.separator + "hello.txt");

        if(!file.exists()){

            return;

        }else{

            try{

                System.setIn(new FileInputStream(file));

            }catch(FileNotFoundException e){

                e.printStackTrace();

            }

            byte[] bytes = new byte[1024];

            int len = 0;

            try{

                len = System.in.read(bytes);

            }catch(IOException e){

                e.printStackTrace();

            }

            System.out.println("读入的内容为:" + new String(bytes, 0, len));

        }

    }

}

【运行结果】:

前提是我的d盘下面的hello.txt中的内容是:“这些文件中的内容哦!”,然后运行程序,输出的结果为:读入的内容为:这些文件中的内容哦!

posted @   尐鱼儿  阅读(146)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示