选择流的规律

1 首先我们要明确源和目的

源: InputStream Reader

目的::OutputStream Write

2 我们要判断源和目的是不是纯文本

源是纯文本 :Reader

否则 :InputStream

源不是纯文本 Writer

否则:OutputStream

3 明确具体设备

源设备

键盘 System.in

网络 Socket

内存 数组

硬盘 File

目的设备

控制台 System.out

硬盘 File

内存数组

网络 Socket

4 是否需要额外功能

需要高效(缓冲区):Buffered

下面我们举出四个例子来说明

一 复制一个文本文件

源:文本 Reader

目的 文本 Write

源是硬盘

目的也是硬盘

FileReader fr = new FileReder(“a.txt”);

FileWriter fw = new FileWriter(“Copy_a.txt”);

是否需要高效(加入缓冲区)

BufferedReader bfr = new BufferedReader (new FileReder(“a.txt”));

BufferedWriter bfr = new BufferedWriter (new FileWriter(“Copy_a.txt”));

二 读取键盘录入信息并且写到一个文件里面

源 文本 Reader

目的 文本 Writer

源是在键盘

目的是硬盘

但是考虑到是文本我们九不需要在用字节读取

直接

//字节流 InputStream is = System.in;

我们对其进行字符流转换

InputStreamReader isr = new InputStreamReader(is);

我们写到文本里面

FileWriter fw = new FileWriter(“b.txt”);

当我们需要高效的时候我们直接这样写

BufferedReader bfr = new BufferedReader(new InputStreamReader (System.in));

BufferedWriter bfr = new BufferedWriter (new FileWriter(“Copy_a.txt”));

三 将一个文本文件里面的数据显示到控制台上

源 文本 Reader

目的 文本 Writer

源是在硬盘

目的实在控制台

FileReader fr = new FileReader(“a.txt”);

OutputStream os = System.out;

因为读取的是文本文件

所以我们为了更加的方便 我们将它转换成为字符流

OutputStreamWriter osr = new OutputStreamWriter(new OutputStream(System.out));

我们还要考虑是否需要高效

BufferedReader bfr = new BufferedReader(new FileReader(“a.txt”));

BufferedWriter

Bfw = new BufferedWriter(newOutputStreamWriter(newOutputStream(System.out)));

四 读入键盘内容然后写到控制台上

源 文本 Reader

目的 文本 Writer

源是在键盘

目的实在控制台

InputStream is = System.in;

OutputStream os = System.out

因为键盘上输入的是文本(为了方便起见我们要转换成为字符流)(可以不转)

InputStreamReader isr = new InputStreamReader(is);

OutputStreamWriter osr = new OutputStreamWriter(osr);

为了高效

我们可以加上Buffered

BufferedReader bfr = new BufferedReader(isr);

BufferedWriter bfw = new BufferedWriter(osr);

标签:BufferedReader,文本,java,System,BufferedWriter,io,txt,new,用流

来源: https://www.cnblogs.com/WINDZLY/p/11802370.html

Java io流小技巧_选择用流的小规律(java)基本的io流相关推荐

  1. iphone清理缓存小技巧_那些不为人知的iPhone隐藏小技巧

    最近本小编在跟同事交流iPhone隐藏技巧过程中发现自己居然有好多功能都不知道,一度怀疑自己用的假苹果!!于是我就奋发图强.把网上一些比较有用的iPhone隐藏技巧搜索.整理了这篇,可能还是不全.希望 ...

  2. java 写文件 权限不够_教你解决Linux系统中JAVA创建文件后权限不足的问题

    在作业中,项目使用文件上传. 这个功能很常见. 当Kai Ge今天更改其官方帐户时,他遇到了一个问题,即无法访问下载的文件,也无法通过浏览器访问该文件. 它是怎么发生的? 经过许多问题之后,事实证明这 ...

  3. java io流详解_一文带你看懂JAVA IO流,史上最全面的IO教学啦

    一.IO流是什么 惯例引用百科的回答流是一种抽象概念,它代表了数据的无结构化传递.按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列.从流中取得数据的操作称为提取操作,而向流中添加数据的操作 ...

  4. 小红书推广引流的5个小技巧_云媒易

    疫情后时代,互联网购物的狂潮久久无法平息,甚至有愈演愈烈之势.女性作为购物浪潮中的主要消费群体,把握她们的需求是非常重要的,特别是在一些女性群体的聚集地,比如小红书,就是很多品牌营销的战场之一. 相信 ...

  5. 【小技巧】【牛客网】【JAVA】在线输入输出练习

    [总结] 1. 一直输入模板 import java.util.*; public class Main{public static void main(String[] args) {Scanner ...

  6. 装的系统没有截图和计算机工具栏,不想安装专用的截图工具?这里有几个Windows(snipping tool)截图小技巧_都叫兽软件...

    吴川 华南区技术负责人 概要 当您在使用windows电脑办公或娱乐时,是否遇到过需要截取屏幕画面的需求?比如,实现电脑屏幕的全屏.自定义画面:或者某个游戏画面:某段视频界面的截取.与其再单独下载专门 ...

  7. 实用计算机操作方法,电脑操作教程_电脑常用小技巧_电脑操作技巧

    快捷键是很多电脑高手操作电脑最常用到的,通常我们会发现,实际电脑操作中,很多麻烦的电脑操作,完全可以通过简简单单的组合快捷键轻松完成,相比一般操作方面,大大提升了工作效率.下面就让小编带你去看看初学者 ...

  8. python能做哪些单机游戏好玩_【单机游戏】可以快速用Python进行数据分析的几个小技巧_玩得好游戏攻略...

    数据分析不仅是数据分析师.数据挖掘工程师.数据科学家的必备技能之一,也是日常工作中进行业务分析的不可或缺的环节. 欢迎点击上方"关注",公众号将持续提供优质内容 一些小提示和小技巧 ...

  9. 天刀 服务器状态,天刀实用技巧_天刀各种游戏小技巧_玩游戏网

    一:御风神行无CD小技巧 这个小技巧,是玩家们游戏方便的一大助力,毕竟它方便了几乎所有天刀玩家,在游戏中给玩家们创造了极大便利.就是当玩家角色走到地图的边缘空气墙处,自动蹦出来地图,点击传送点,可以无 ...

最新文章

  1. matlab rank函数报错,Matlab signrank函数(Wilcoxon signed rank test)中的矛盾结果[重复]
  2. PE文件和COFF文件格式分析——签名、COFF文件头和可选文件头1
  3. Class与Style绑定
  4. 如何利用循环代替递归以防止栈溢出(译)
  5. 滴滴为啥值3600亿?看它的数据中台就知道了
  6. 差值平方和匹配_纯前端实现图片的模板匹配
  7. 理解SQL Server中的权限体系(下)----安全对象和权限
  8. Python图片攻击
  9. Python 爬虫从入门到进阶之路(四)
  10. ORM框架,sqlsugar学习一
  11. 《HelloGitHub》第 73 期
  12. 高等数学张宇18讲 第十讲 多元函数微分学
  13. excel多个窗口独立显示_excel效率神器监视窗口
  14. shell 参数的分组读取
  15. [日更-2019.5.21] Android 系统的分区和文件系统(一)--Android分区的大概框架
  16. HTML+CSS实现百度网盘首页
  17. Java中调整字距与行距的方法 其一(以DrawString为例)
  18. v4l2 use V4L2_MEMORY_MMAP方式导出为 DMA BUF fd 方式使用
  19. Educational Codeforces Round 115 (Rated for Div. 2) A. Computer Game
  20. Start Developing iOS Apps (Swift) 学习笔记 (1)

热门文章

  1. LeetCode 题 - 9 回文数
  2. 一个搜集大量网页特效的网站
  3. Python《搞事情==蜂-鸟-图-片(一)》
  4. 漫步数理统计二十二——二项及相关分布
  5. Python中使用libsvm
  6. leetcode 好的博客汇总
  7. DCP(Deep Closest Point)论文阅读笔记以及详析
  8. leetcode - 746. 使用最小花费爬楼梯
  9. 非正交坐标系-模态正交的物理及几何意义
  10. 双目测距数学原理详解(转载)