第八章 流
 
时间: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. 在应用程序中使用Xml文件

    用于操作Xml的文档主要有XmlNode.XmlDocument.XmlComment.XmlElement.XmlAttribute.XmlText.XmlNodeList 下面用一段代码来具体说明 ...

  2. Centos7多网卡绑定操作,通过nmcli命令操作。

    运行 ip link 命令查看系统中可用的接口1.创建bond网卡nmcli con add type team con-name team0 ifname team0 config '{" ...

  3. PAT 1057

    Stack is one of the most fundamental data structures, which is based on the principle of Last In Fir ...

  4. 【Linux配置】vim配置文件内容

    vim的配置 文件:~/.vimrc 在自己的家目录中的.vimrc文件进行编辑配置 设置如下: set nu "序号 set tabstop= "tab键的大小 set show ...

  5. 让你的JS代码更具可读性

    一.合理的添加注释 函数和方法--每个函数或方法都应该包含一个注释,描述其目的和用于完成任务所可能使用 的算法.陈述事先的假设也非常重要,如参数代表什么,函数是否有返回值(因为这不能从函 数定义中推断 ...

  6. Swift try try! try?使用和区别

    Swift try try! try?使用和区别 一.异常处理try catch的使用 1. swift异常处理 历史由来 Swift1.0版本 Cocoa Touch 的 NSError ,Swif ...

  7. bootstrap快速入门笔记(二)-栅格系统,响应式类

    一,栅格系统大致有以下: 1,行row必须包含在 .container (固定宽度)或 .container-fluid (100% 宽度)中,一行有12列 2.“列(column)”在水平方向创建一 ...

  8. EMMC与RAND的区别

    作者:Younger Liu, 本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可. EMMC与RAND的区别 说到两者的区别,必须从flash的发展历程说起,因 ...

  9. mysql分页查询优化

    由于MySql的分页机制:并不是跳过 offset 行,而是取 offset + N 行,然后返回放弃前 offset 行,返回N 行, 所以当 offset 特别大的时候,效率就非常的低下,要么控制 ...

  10. 前端工作日常爬坑之——单页面微信开发Jssdk相关,以及jssdk图片直传自己服务器的实现。

    日常爬坑 遇到的情况大致说明: 项目基于Vue2全家桶实现,vue-router控制前端路由,路由模式是History(主要是领导追求太高,觉得hash带#号太丑,然后遇到了小坑...),主要是服务于 ...