Day16_92_Java IO 基础概念
Java IO 基础概念
流根据方向分为 输入流 和 输出流。 注意 : 输入和输出是相对与内存而言的,从内存出来就是输出,到内存中去就是输入。
输入叫做 "读" , 输出叫做 "写"。
输入流叫做 InputStream 或者 Read ; 输出流叫做 OutputStream 或者 Write。
输入流是从文件读取数据,是一个拉取数据的过程; 输出流是将数据写入到文件中,是一个推送数据的过程。
一个Java程序从本地读取(拉取)字节叫做字节输入流; 一个Java程序将字节数据写入并保存到硬盘中叫字节输出流; 从内存中读取字符文件叫字符输入流(Read), 输出字符数据叫字符输出流(write).
流根据读取数据的方式不同分为 字节流 和 字符流,字节流是按照字节的方式读取的; 字符流是按照字符的方式读取的,一次读取两个字节,在java中一个字符占两个字节。
字节流适合读取 视频、声音、图片等二进制文件; 字符流适合读取纯文本文件。
Java 语言中所有的字节流都以Stream结尾; 所有的字符流都含有Reader或Writer。
* IO继承结构图
    - 字节流

    - 字符流

- 需要掌握的16个流
 
     -  java.io.*;
        import java.io.InputStream;         抽象类
        import java.io.OutputStream;        抽象类
        import java.io.FileInputStream;        字节流输入
        import java.io.FileOutputStream;       字节流输出
	import java.io.FilterInputStream;
	import java.io.FilterOutputStream;      
	import java.io.FileReader;             字符流输入
	import java.io.FileWriter;             字符流输出
	import java.io.BufferedInputStream;    带有缓冲区的字节流输入
	import java.io.BufferedOutputStream;   带有缓冲区的字节流输出
	import java.io.BufferedReader;         带有缓冲区的字符流输入
	import java.io.BufferedWriter;         带有缓冲区的字符流输出
	import java.io.DataInputStream;          读取数据
	import java.io.DataOutputStream;
	import java.io.ObjectInputStream;        读取对象
	import java.io.ObjectOutputStream; 
        转换流:
	import java.io.InputStreamReader;         将字节输入流转换为字符输入流
	import java.io.OutputStreamWriter;        将字节输出流转换为字符输出流
	import java.io.PrintWriter;
	import java.io.PrintStream;               标准的输出流,默认输出到控制台												
											Day16_92_Java IO 基础概念的更多相关文章
- JavaBean 基础概念、使用实例及代码分析
		
JavaBean 基础概念.使用实例及代码分析 JavaBean的概念 JavaBean是一种可重复使用的.且跨平台的软件组件. JavaBean可分为两种:一种是有用户界面的(有UI的):另一种是没 ...
 - Java面试题精选(一)基础概念和面向对象
		
-- 基础概念和面向对象 -- 全程将为大家剖析几大部分内容,由于学习经验有限,望大家谅解并接受宝贵的意见: 基础概念部分 ★★ : 常出现的高频率单词的区别理解(异常. ...
 - 分布式强化学习基础概念(Distributional RL )
		
分布式强化学习基础概念(Distributional RL) from: https://mtomassoli.github.io/2017/12/08/distributional_rl/ 1. Q ...
 - 一步步Cobol 400 上手自学入门教程01 - 基础概念
		
先学习基础概念 1.COBOL字符:包含: User-defined words 用户定义字符 System-names Reserved words 关键字 2.用户定义字符User-defin ...
 - 【spring揭秘】1、关于IOC的基础概念
		
1.基础概念 IOC有三种注入方式: 1.构造方法注入,就是通过构造方法进行实例化成员属性对象,优点是实现对象之后直接就可以使用,但是参数过多也是个麻烦 2.setter方法注入,实现相应的sette ...
 - 第214天:Angular 基础概念
		
一.Angular 简介 1. 什么是 AngularJS - 一款非常优秀的前端高级 JS 框架 - 最早由 Misko Hevery 等人创建 - 2009 年被 Google 公式收购,用于其多 ...
 - ELK&ElasticSearch5.1基础概念及配置文件详解【转】
		
1. 配置文件 elasticsearch/elasticsearch.yml 主配置文件 elasticsearch/jvm.options jvm参数配置文件 elasticsearch/log4 ...
 - Exynos4412 IIC总线驱动开发(一)—— IIC 基础概念及驱动架构分析
		
关于Exynos4412 IIC 裸机开发请看 :Exynos4412 裸机开发 —— IIC总线 ,下面回顾下 IIC 基础概念 一.IIC 基础概念 IIC(Inter-Integrated Ci ...
 - nginx架构与基础概念
		
1 Nginx架构 Nginx 高性能,与其架构有关. Nginx架构: nginx运行时,在unix系统中以daemon形式在后台运行,后台进程包含一个master进程和多个worker ...
 
随机推荐
- Kubernetes: NGINX/PHP-FPM 502错误和优雅结束
			
我们有一个运行在Kubernetes上的PHP应用,每个POD由两个独立的容器组成 - Nginx和PHP-FPM. 在我们对应用进行缩容时,遇到了502错误,例如,当一个POD在结束中时,POD里面 ...
 - linux 安装软件步骤
			
1,下载wget http://www.erlang.org/download/otp_src_R16B02.tar.gz2,解压 tar -zxvf otp_src_R16B02.tar.gz3,编 ...
 - selenium之元素定位的方法(一)
			
WebDriver 对象有多种方法用于在页面中寻找元素.他们被分成find_element_*和find_elements_*方法.find_element_*方法返回一个WebElement对象,代 ...
 - CCF(引水入城:60分):最大流+ISAP算法
			
引水入城 201703-5 这从题目分析来看很像最大流的问题,只需要增加一个超级源点和一个超级汇点就可以按照题意连边再跑最大流算法. 因为数据量太大了,肯定会超时.但是没有想到可行的解决方法. #in ...
 - Python3+pygame中国象棋 代码完整 非常好 有效果演示
			
这几天看到抖音上有个妹子下象棋超级猛,我的中国象棋也差不到哪去啊,走 做一个.... 一.运行效果 二.代码 下面的代码用到图片素材(images文件夹),下载地址如下:https://www.itp ...
 - 面向青铜的java自学路线
			
有经验的人都知道,java还是需要一些路线的,因为java有些知识前后关联挺大的,先学后面和先学前面难度是不一样的. 如果你是新手,只要你知道路线这个东西,起码要比别人强,至少知道可以怎么走(更重要的 ...
 - Python flask-restful框架讲解
			
Restful 是 Flask 的扩展,增加了对快速构建 REST api 的支持.它是一个轻量级的概念,与您现有的 ORM/librarie 一起工作.Restful 鼓励最小化设置的最佳实践.如果 ...
 - Codeforces Round #699 (Div. 2)
			
A Space Navigation #include <bits/stdc++.h> using namespace std; typedef long long LL; #define ...
 - MySQL全面瓦解25:构建高性能索引(案例分析篇)
			
回顾一下上面几篇索引相关的文章: MySQL全面瓦解22:索引的介绍和原理分析 MySQL全面瓦解23:MySQL索引实现和使用 MySQL全面瓦解24:构建高性能索引(策略篇) 索引的十大原则 1. ...
 - 【数据结构与算法】——队列(Queue)
			
队列(Queue)的一个使用场景 银行排队的案例: 队列(Queue)介绍 队列是一个有序列表,可以用数组或是链表来实现. 遵循先入先出的原则.即:先存入队列的数据,要先取出来.后存入的要后取出来. ...