第八章 流
 
时间:2017年4月28日11:03:07~2017年4月28日11:41:54
章节:08章_01节
视频长度:21:15
内容:IO初步
心得:
所有的流在java.io包里面
定义了多个流类型(类或抽象类)来实现输入/输出功能
可以从不同的角度对其进行分类
按数据流的方向不同可以分为输入流和输出流
按处理数据单位不同可以分为字节流和字符流
按照功能不同可以分为节点流和处理流
jdk中所提供的的所有流类型位于包Java.io内都分别继承自以下四种抽象流类型
输入流 InputStream  Reader(字符)
输出流 OutputStream Writer(字符)
 
字节流就是01010101的读 每次读1个字节(8位)
字符流就是按一个字符一个字符的读 1个字符=2个字节
 
节点流是直接将流连接到程序,可以从一个特点的数据源(节点)读写数据(如:文件,内存)
处理流是"连接"在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能
图形显示

 
 
 
inputStream
 

outputStream

 
Reader

Writer

 
时间:2017年4月28日11:42:08~2017年4月28日13:45:03
章节:08章_02节
视频长度:11:34
内容:FileInputStream_FileOutputStream
新的:
节点流类型

 
文件的复制
 
FileInputStream in = null;
FileOutputStream out = null;
try{
in = new FileInputStream("d:/java/testFileInput.java");//要读取的文件
out =new FileOutputStream("d:/java/testFileOutput.java");//要写入的文件
 while((b=in.read()) != -1){
      out.write(b);
}
in.close();
out.close()
....之后的cath就不写了
}
将读出来的字节存到b中 再写入到out里。
 
时间:2017年4月28日13:45:33~2017年4月28日13:49:56
章节:08章_03节
视频长度:05:10
内容:FileReader 和FileWriter
心得:
和上面一样
int c= 0;
FileReader fr =null;
fr=new FileReader("文件地址")
while((c=fr.read()) != -1){
System.out.print((char)c)
}
 
时间:2017年4月28日13:50:16~2017年4月28日14:02:58
章节:08章_04节 08章_05节
视频长度:13:32 + 1:18
内容:BufferedIO + IO_FAQ
心得:
处理流
处理流是"连接"在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能

时间:2017年4月28日14:05:22~2017年4月28日14:24:46
章节:08章_06节
视频长度:22:06
内容:TransformIO
心得:
转换流

可以将字节流与字符流之间互相转换
OutputStreamWriter osw =new OutputStreamWriter(
new FileOutputStream("...")
)
将字节流转换为字符流 返回一个字符流

true 的话 是代表追加 接着原来文件后面写
不写true的话 会将原来的内容清空掉
 
第3个参数“iso-8859-1”是指定字符编码 latin-1
 

System.in//阻塞式的方法,也是同步方法
 
时间:2017年4月28日14:24:53~2017年4月28日14:40:24
章节:08章_07节
视频长度:18:40
内容:DataIO ByteArrayIO
心得:

 
注意 先写进去的先读出来
(先进先出)--队列
(先进后出)--栈
 
时间:2017年4月28日14:40:39~2017年4月28日14:50:39
章节:08章_08节
视频长度:21:21
内容:Print 流
心得:
打印流 只有wtrite 和out了 因为是打印出来
 

注意 System.setOut ,更改了打印的位置
原来默认是打印在控制台
这里改成了 打印到文件里了。

 
控制台参数 是文件名 
然后一行一行的打印出来 到控制台

将控制台输入的文字 写到一个文件里
然后作一些处理 就是一个简单的日志文件记录
同样是阻塞式的
 
时间:2017年4月28日14:50:39 ~2017年4月28日15:00:14
章节:08章_09节
视频长度:13:06
内容:ObjectIO 流
心得:
直接将对象(Object)写入或读出

 

Java基础知识二次学习--第八章 流的更多相关文章

  1. Java基础知识二次学习--第三章 面向对象

    第三章 面向对象   时间:2017年4月24日17:51:37~2017年4月25日13:52:34 章节:03章_01节 03章_02节 视频长度:30:11 + 21:44 内容:面向对象设计思 ...

  2. Java基础知识二次学习-- 第一章 java基础

    基础知识有时候感觉时间长似乎有点生疏,正好这几天有时间有机会,就决定重新做一轮二次学习,挑重避轻 回过头来重新整理基础知识,能收获到之前不少遗漏的,所以这一次就称作查漏补缺吧!废话不多说,开始! 第一 ...

  3. Java基础知识二次学习--第六章 常用类

    第六章 常用类   时间:2017年4月26日16:14:49~2017年4月26日16:56:02 章节:06章_01节~06章_06节 视频长度:20:57+1:15+8:44+1:26+11:2 ...

  4. Java基础知识二次学习--第七章 容器

    第七章 容器   时间:2017年4月27日15:08:30 章节:07章01节~07章04节 视频长度:20:21 +12:38 +3:55 +2:57 内容:容器API 心得: Java API ...

  5. Java基础知识二次学习--第五章 数组

    第五章 数组 时间:2017年4月26日15:11:30~2017年4月26日15:15:54 章节:05章_01节  视频长度:09:30 内容:一维数组的内存分析 心得: Java中数组是引用类型 ...

  6. Java基础知识二次学习-- 第二章 基础语法与递归补充

    第二章 基础语法与递归补充   时间:2017年4月24日10:39:18 章节:02章_01节,02章_02节 视频长度:49:21 + 15:45 内容:标识符,关键字与数据类型 心得:由字母,下 ...

  7. Java基础知识二次学习--第四章 异常

    第四章 异常处理   时间:2017年4月26日11:16:39~2017年4月26日11:28:58 章节:04章_01节 04章_02节 视频长度:20:46+01:16 内容:异常的概念 心得: ...

  8. java 基础知识二 基本类型与运算符

    java  基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...

  9. java基础知识(二)

    java的布局管理: borderLayout:则将板块分为东西南北中五个方向,每添加一个组件就要指定组件摆放的方位,放置在东西南北四个方向的组件将贴边放置.当拉大Frame的时候,处在center( ...

随机推荐

  1. (iOS)关于UITableView设置contentsize(原创)

    由于UITableView是继承自UIScrollView的,所以他是可以设置contentsize的. 但是,我在试验的过程中,初始化UITableView实例后,直接设置它的contentsize ...

  2. Mybatis基础学习(四)—关系映射

    一.模型分析 user和orders user---->orders 一个用户可以创建多个订单,一对多. orders--->user 一个订单只由一个用户创建,一对一.   orders ...

  3. Hibernate基础学习(三)—Session

    一.概述      Session接口是Hibernate向应用程序提供的操纵数据库最主要的接口,它提供了基本的保存.更新.删除和加载Java对象的方法.      Session具有一个缓存,位于缓 ...

  4. package(1):tm

    tm包是R语言中为文本挖掘提供综合性处理的package,进行操作前载入tm包,vignette命令可以让你得到相关的文档说明.使用默认安装的R平台是不带tm  package的,在安装的过程中,它会 ...

  5. chrome浏览器tab页内存占用变大,网站变慢为哪般?

    问题概述: 公司做的是BS应用. 之前我们的后台服务器程序是带状态的,用ehcache存储登录状态:这两天被我改成了redis存储,应用本身不再存储登录状态. 然后自测,我在测试某个很耗时间的网页操作 ...

  6. 【one day one linux】好用的数据处理工具awk

    awk:好用的数据处理工具 取自<鸟哥私房菜>awk一节 应用:awk是以一行为一次的处理单位,将一行分成数个“字段”进行处理. #awk的命令格式 awk '条件类型1{动作1} 条件类 ...

  7. angular双向数据绑定

    <body ng-app> //三个view都会变 <input type="text" ng-model="name" value=&quo ...

  8. css系列(布局):实现一个元素在浏览器中水平、垂直居中的几个方案

    在开发中偶遇需要一个元素垂直居中的需求,之前都是水平居中,垂直居中使用的比较少,经过一通研究,选择了几种相对比较实用的方案分享,抛砖引玉,如有遗漏不足,还望不吝指正. 方案一(IE7下该方案无法实现垂 ...

  9. Python open()

    Python中对open()函数的说明: Definition : open(name[, mode[, buffering]]) Type : Function of __builtin__ mod ...

  10. 兼容IE8的input输入框的正确使用姿势

    input是一个很常见的标签,大家使用的也很常见,但是我在具体的工作中发现要想完美的使用这个标签还是任重而道远,下面是我碰到的几个问题. 1.我们在使用这个标签的时候会习惯的加上placeholder ...