Java中的文件复制相较Python而言,涉及到输入输出流的概念,实现中会调用很多对象,复杂很多,在此以文件复制进行简单总结。

这里是一个简单的处理代码:

import java.io.*;

public class Demo {

public static void main(String[] args) throws IOException{

// 输入文本定位

BufferedInputStream in = new BufferedInputStream(

new FileInputStream("in.txt"));

// 输出文本定位

PrintStream out = new PrintStream(new BufferedOutputStream(

new FileOutputStream("out.txt")));

/* 重定向 */

System.setIn(in); // 由原来从键盘作为输入重定向到文本 'in.txt'

System.setOut(out); // 由原来从键盘作为输入重定向到文本 'out.txt'

System.setErr(out); // 同上

BufferedReader br = new BufferedReader( // Buffer流使进程效率更高

new InputStreamReader(System.in)); // 此处的节点流 InputStreamReader 处理数据

String s;

while ((s = br.readLine()) != null) {

System.out.println(s);

}

in.close();

out.close();

}

}

这里有个需要理解的地方就是输入输出重定向的问题:

原来 System.in 所定向的是键盘,而 System.out 所定向的是显示器,由

System.setIn(in);

System.setOut(out);

System.setErr(out);

而将输入重定向到了文件 in.txt ,将输出重定向到了 out.txt ,所以在 while 中,System.out.printf() 自然也就将 String 输出到了文件 out.txt 中。

python输入输出流详解_输入输出流的概念相关推荐

  1. python input函数详解_对Python3中的input函数详解

    下面介绍python3中的input函数及其在python2及pyhton3中的不同. python3中的ininput函数,首先利用help(input)函数查看函数信息: 以上信息说明input函 ...

  2. python协程详解_对Python协程之异步同步的区别详解

    一下代码通过协程.多线程.多进程的方式,运行代码展示异步与同步的区别. import gevent import threading import multiprocessing # 这里展示同步和异 ...

  3. python的抽象类详解_第7.19节 Python中的抽象类详解:abstractmethod、abc与真实子类...

    第7.19节 Python中的抽象类详解:abstractmethod.abc与真实子类 一. 引言 前面相关的章节已经介绍过,Python中定义某种类型是以实现了该类型对应的协议为标准的,而不是以继 ...

  4. python json方法详解_详解python中的json的基本使用方法

    在Python中使用json的时候,主要也就是使用json模块,json是以一种良好的格式来进行数据的交互,从而在很多时候,可以使用json数据格式作为程序之间的接口. #!/usr/bin/env ...

  5. python six模块详解_对python中的six.moves模块的下载函数urlretrieve详解

    实验环境:windows 7,anaconda 3(python 3.5),tensorflow(gpu/cpu) 函数介绍:所用函数为six.moves下的urllib中的函数,调用如下urllib ...

  6. 卡夫卡详解_卡夫卡概念

    卡夫卡详解 Apache Kafka is an open-source distributed event streaming platform used by thousands of compa ...

  7. python俄罗斯方块算法详解_用 Python 写一个俄罗斯方块游戏 (

    @@ -2,34 +2,34 @@ > * 原文作者:[Dr Pommes](https://medium.com/@pommes) > * 译文出自:[掘金翻译计划](https://g ...

  8. python json模块详解_深入解析Python编程中JSON模块的使用

    JSON编码支持的基本数据类型为 None , bool , int , float 和 str , 以及包含这些类型数据的lists,tuples和dictionaries. 对于dictionar ...

  9. python求和函数详解_关于python:对多个数字求和的函数

    本问题已经有最佳答案,请猛点这里访问. 我刚接触到Python,开始学习执行函数.我开始添加数字,但我只能求和两个数字,如果我想求和更多,就需要编辑程序.这是我的密码 1 2 3 4 5 6 7def ...

最新文章

  1. 16、Kubernetes搭建高可用集群
  2. java 分布式 redis缓存技术_JAVA架构师系列课程分布式缓存技术Redis权威指南,资源教程下载...
  3. C++ c_str()
  4. (转)NSIS使用心得
  5. 50张非常精美的Apple主题桌面壁纸(上篇)
  6. python添加模块
  7. 基于图结构的图合成与差分隐私【LDPGen】
  8. 安卓案例:安卓对话框演示
  9. ORBSLAM的ORB特征到底从哪儿来?
  10. 微软发布的新开源编程语言 Power Fx
  11. tomcat启动成功 未加载项目_智云CRM项目启动大会在深圳成功召开
  12. html 文本框 p,Javascript实现HTML表单form多个HttpPost请求
  13. 木质机器人挂坠_设计癖 2014 大盘点:十大木质产品
  14. 关于CCSP云安全专家考试你一定要知道的事!
  15. 服装行业进销存软件有哪些简单好用又便宜的?
  16. excel转置怎么操作_EXCEL的矩阵运算
  17. JavaScript求和函数
  18. YOLOv4原文翻译 - v4它终于来了!
  19. 图书系统(查询图书内容)
  20. 分布式机器学习的集群方案介绍之HPC实现

热门文章

  1. 2021年大数据Hive(七):Hive的开窗函数
  2. [JavaScript] 好用的 JavaScript Symbol 类型
  3. [JS] for-each和map()的区别
  4. linux7怎样搭建zabbix,Centos7.0 搭建Zabbix环境
  5. php 哲学家进餐,IPC问题-哲学家就餐(示例代码)
  6. 安全测试之xss攻击和mysql注入
  7. django文件上传
  8. Python创建virtualenv(虚拟环境)方法
  9. Spring整合Struts2
  10. CodeForces 获得数据