重定向IO

  • 重定向IO
  • 读取其他进程的数据

重定向IO

Java标准输入是 System.in, 代表键盘
标准输出是 System.out, 代表显示器。
System类提供下面重定向标准IO。

  • setErr(PrintStream err): 重定向标准错误
  • setIn(InputStream in): 重定向标准输入
  • setOut(PrintStream out): 重定向标准输出

下面将标准输出重定向到文件

        try(PrintStream printStream = new PrintStream(new FileOutputStream("abc.txt"))){System.setOut(printStream);System.out.println("test 字符串");System.out.println(new FileTest());}catch (IOException e){e.printStackTrace();}

下面重定向标准输入到文件,而不是键盘

        try (FileInputStream fis = new FileInputStream("abc.txt");){System.setIn(fis);Scanner scanner = new Scanner(System.in);scanner.useDelimiter("\n");while (scanner.hasNext()){System.out.println(scanner.next());}}catch (IOException e){}

读取其他进程的数据

使用 Runtime 对象的 exec()方法可以运行平台上的其他程序。
该方法产生一个Process对象,Process对象代表由java程序启动的子进程。
Process类提供下面三个方法:

  • getErrorStream(): 子进程错误流
  • getInputStream(): 子进程输入流
  • getOutputStream(): 子进程输出流

下面例子启动 javac 程序:输出错误流

        Process process = Runtime.getRuntime().exec("javac");try (BufferedReader br = new BufferedReader(new InputStreamReader(process.getErrorStream()))){String buff = null;while ((buff = br.readLine()) != null){System.out.println(buff);}}catch (IOException e){}

读取输入流

        Process process = Runtime.getRuntime().exec("ls -l");try (BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()))){String buff = null;while ((buff = br.readLine()) != null){System.out.println(buff);}}

Java重定向标准输入/输出相关推荐

  1. java 重定向out_java输出重定向

    Java的标准输入,输出分别是通过System.in和System.out来代表.默认情况下他们分别代表键盘和显示器. System类里提供了3个重定向标准输入,输出的方法. static void ...

  2. java重定向输入/输出

    实现流水线时,需要将代码的输入输出改为从文件中读入写出,因为原代码中有大量输出函数,为了避免大幅度改动,便采用重定向. 头文件 import java.io.FileInputStream; impo ...

  3. java输入和输出路径_Java输入输出

    Java输入输出学习 File类 File类是java.io包下代表与平台无关的文件和目录,也就是说,如果希望在程序中操作文件和目录,都可以通过File类来完成.值得指出的是,不管是文件还是目录都是使 ...

  4. C/C++-标准输入/输出重定向为文件输入/输出

    /*Time: 2017-02-22 11:11:15Describe: C++程序将标准输入/输出重定向为文件输入/输出. */#include <iostream> #include ...

  5. 分享:Linux标准输入/输出和重定向

    1. 标准输入与输出 我们知道,执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘:标准输出文件(stdout)和标准错误输出文件(stderr), ...

  6. 标准输入/输出和重定向

    1. 标准输入与输出 我们知道,执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘:标准输出文件(stdout)和 标准错误输出文件(stderr) ...

  7. java重定向输出流到文件(从文件到输入流)

    java重定向输出流到文件(从文件到输入流) 如何重定向呢?先看看以下代码 public class Run{int age;String name;String sex;public void go ...

  8. linux shell数据重定向(输入重定向与输出重定向)详细分析

    转载自: linux shell数据重定向(输入重定向与输出重定向)详细分析 - 程默 - 博客园 http://www.cnblogs.com/chengmo/archive/2010/10/20/ ...

  9. linux重定向进程输出到文件删除,Linux文件编辑器vim输出输入重定向、管道以及进程(示例代码)...

    合抱之木,生于毫末:九层之台,起于累土:千里之行,始于足下.正因基础的重要性,才又撸起了linux. linux编辑工具: VI VIM EMACS vim 是vi的升级版本,它不仅兼容vi的所有指令 ...

最新文章

  1. Xcode中的NSLog详解
  2. 2003配置php环境,2003配置PHP环境(有利于升级)
  3. linux lftp lftpget 命令简介
  4. matlab绘制y3=e (-x),MATLAB图形绘制-二维配套实验
  5. [Cocos2d-x For WP8]Scene场景
  6. usb管控软件_记账软件新外设:PUPUPULA 智能存钱罐登陆众筹
  7. 自学python条件_自学Python2.8-条件(if、if...else)
  8. 20191215周学习总结
  9. 从DataTable导出Excel,并下载,删除Excel进程。
  10. Windows下tomcat进程监控批处理程序
  11. 手机发送验证码的业务逻辑探究-主要是安全性,响应性
  12. java使用蒙特卡罗方法计算半径为r圆的面积_不用微积分,如何计算圆面积
  13. Java中遍历Set集合的三种方法
  14. Struts,Spring,Hibernate三大框架的面试
  15. 18_多易教育之《yiee数据运营系统》用户画像-事实标签计算篇
  16. 关于导弹飞行控制系统的滚转稳定
  17. Twaver-HTML5基础学习(38)劈分面板SplitPane
  18. conda管理python开发环境
  19. ​从机械工程师到机器学习工程师,我也是个数据科学家了
  20. 二叉树线索化示意图_二叉树线索化

热门文章

  1. vue 获取动态域名_通过阿里云实现动态域名解析DDNS
  2. OKR和KPI如何结合使用
  3. 基于paint.net制作的C#PSD图层提取工具
  4. Netlogo 中检测边界
  5. android 按钮手势,【一加 3T 安卓手机使用总结】系统|开关|按键|手势|模式_摘要频道_什么值得买...
  6. 5.1 单片机-16x16LED点阵屏
  7. emu8086 第一个程序
  8. 32位微控制器 (MCU)STM32G081KBU6 128KB 闪存 32QFN
  9. 很全的机器视觉、模式识别库
  10. 俞军与他的PM12条