java将读到的换行符存储到数据表中_Java学习之路013天

news/2024/7/8 2:04:35

65108cdcdf8428fa230ab51c8a6dd185.png

第27次

学习主题:容器遍历以及IO流

学习目标:

1 掌握容器的遍历

2 掌握IO流的基本概念,结构,以及文件字节流

对应视频:

http://www.itbaizhan.cn/course/id/85.html

对应文档:

对应作业

1. 迭代器_遍历List_Set

(1) 迭代器的由来是什么?

普通for循环的缺点就是事先必须知道集合的数据结构,而且当换了一种集合的话代码不可重用,要进行修改,例如使用set,就不能通过索引来遍历。每一种集合类对应一种访问方式,代码不可重用。为了解决该问题。Iterator模式总是用一种逻辑遍历集合。每一种集合类返回的Iterator具体类型可能不同,但它们都实现了Iterator接口,因此客户端只需要获得Iterator接口即可。

(2) 使用迭代器遍历集合的原理是什么?

通过hasNext()方法,判断集合中是否还有对象;若有对象,则通过next()方法

获得对象

2. 迭代器_遍历Map

(1) ListIterator接口比Iterator扩展的哪些方法?

1、hasPrevious()前面是否有元素对象

2、remove()删除由next()返回的元素对象

(2) 并发修改异常是如何产生的?

在使用迭代器对象遍历集合的同时使用集合对象去修改集合

3. 容器体系框架总结

(1) 画出集合体系框架图?

120569105de90c70d70692bcb881e866.png

(2) 集合和数组的异同点?

1、 集合和数组都是用来存储元素的容器

2、 数组是静态的,一个数组实例具有固定的大小,一旦创建了就无法改变容量了。而集合是可以动态扩展容量,可以根据需要动态改变大小,集合提供更多的成员方法,能满足更多的需求。

3、 数组的存放的类型只能是一种,集合存放的类型可以不是一种(不加泛型时添加的类型是Object);

4. IO流的基本概念

(1) 简述IO流的原理?

数据通过特殊方法实现在文件和程序之间的传递

(2) Java中关于IO流的定义 ?

在Java程序中,对于数据的输入/输出操作以“流”方式进行

5. 流的细分和体系_四大抽象类

(1) IO流可以分为哪几类?

1、 根据流的方向分为:

输入流(数据源到程序 InputStream、Reader读进来)

输出流(程序到目的地 OutPutStream、Writer写出去)

2、 根据处理数据到单元:

字节流:按照字节读取数据(InputStream、OutPutStream)

字符流:按照字符读取数据(Reader、Writer)

注意:输入、输出是相对于程序而言的,进程序就是输入流,出程序就是输出流

3、 根据功能不同:

节点流:可以直接从数据源或目的地读写数据

处理流(包装流):不直接连接到数据源或目的地,是其他流进行封装。目的是简化操作和提高性能。

(2) 流的四大抽象类分别是什么?

6431f786a9efb3a9899843198ab5d362.png

6. 文件字节流

(1) FileInputStream的常用方法有哪些?

1、 读取内容方法:

1) abstract int read()

2) int read(byte b[])

3) int read(byte b[],int off,int len)

4) int available()

5) close()

(2) FileOutputStream的常用方法有哪些?

1) abstract void write(int b)

2) void write(byte b[])

3)void write(byte b[],int off,int len)

4)void flush()

5)void close()

7. 使用字节流实现文件复制

(1) 简述使用字节流实现文件复制的原理?

从磁盘每读取一个字节便写入一个字节

(2) 简述使用字节流实现文件复制的步骤?

1、 创建FileInputStream对象fis初始化null

2、 创建FileOutPutStream对象fos初始化null

3、 Int b=0;用于存储读到的字节(中转站)

4、 While循环判断是否还能读到数据((b=fis.read)!=-1)

5、 把读到的数据写入文件

6、 关闭fos,关闭fis

7、 处理异常(判断fos、fis是否是null,不等于null再关闭)

第28次(IO流)

学习主题: IO流

学习目标:

1 掌握不同类型流的使用

对应视频:

http://www.itbaizhan.cn/course/id/85.html

对应文档:

对应作业

8. 文件字符流

(1) Reader常用的方法有哪些?

1、 int read()读一个字符

2、 int read(char[] cbuf)

3、 int read(char[] cbuf,int off,int len)

4、 int available()

5、 close()

(2) Writer常用的方法有哪些?

1、 void write(int c)

2、 void write(char[] cbuf)

3、 abstract void write(char[] cbuf,int off,int len)

4、 void write(String str)

5、 abstract void flush()

注:使用reader/writer字符流读取文件内容步骤

1) 与文件搭建桥梁,即创建FileReader/FileWriter对象

2) 读取/写入文件内容

3) 关闭流

9. 缓冲字节流_缓冲字符流

(1) 缓冲字节流的特点是什么?

BufferedInputStream和BufferedOutputStream(处理流)

不直接连接到数据源或目的地,是其他流进行封装。目的是简化操作和提高性能。

(2) 简述使用缓冲字节流进行文件复制时提高效率的原理是什么?

1、 读/写文件都使用了缓冲区,减少了读写次数。

2、 当创建这两个缓冲流的对象时,会创建内部缓冲数组,缺省使用32 字节大小的缓冲区

3、 当读取数据时,数据按快读入缓冲区,其后的读操作则直接访问缓冲区

4、 当写入数据时,首先写入缓冲区,当缓存区满时,其中的数据写入所连接的输出流。使用flush()方法可以强制将缓冲区的内容全部写入输出流

5、 关闭流的顺序和打开流的顺序相反,只需关闭高层流即可

6、 Flush的使用:手动将buffer中内容写入文件

注:缓冲字符流

1) BufferedReader:readLine()读取一个文本的数据

2) BufferedWriter:newLine()写入一个行分隔符,write()写入数据

使用缓冲字符流时复制文本文件常用的方式

10. 转换流

(1) InputStreamReader的作用是什么?

把InputStream转换成Reader

(2) OutputStreamWriter的作用是什么?

把OutputStream转换成Writer

11. 打印流

(1) 简述PrintStream的特点?

1、 PrintStream提供了一系列的print()和println()。可以实现将基本数据类型格式化成字符串输出。对象类型将先调用toString(),然后输出该方法返回的字符串

2、 System.out和System.err,是PrintStream的两个实例,代表显示器

3、 PrintStream的输出功能很强大,通常需要输出文本内容,都可以将输出流包装成PrintStream后输出

4、 PrintStream的方法都不跑出TOException

(2) 简述PrintWriter与PrintStream的区别?

PrintStream主要操作byte流,而PrintWriter用来操作字符流。读取文本文件时一般用后者。

PrintStream是字节流,它有处理raw byte的方法,write(int)和write(byte[],int,int);PrintWriter是字符流,它没有处理raw byte的方法。PrintStream和PrintWriter的auto flushing机制有点不同,前者在输出byte数组、调用println方法、输出换行符或者byte值10(即n)时自动调用flush方法,后者仅在调用println方法时发生auto flushing。

PrintWriter类与PrintStream类的方法是对应的,当前者的自动清空缓冲区的功能被使能时(构 造函数中autoFlush置为true),仅当println()方法被调用时才自动清缓冲区,而不是像PrintStream一样遇到一个换行符就清缓冲。

12. 数据流

(1) 数据流的作用是什么?

1、 提供了可以存储所有Java基础类型数据(int,double等)和String的方法

2、 处理流,只针对字节流,二进制文件

3、 输入流链和输出流链

4、 只要关闭上层流即可

输入输出流链:

19af42216bb3b9ed79cd45ea7a939d87.png

(2) 你学过的流中哪些是处理流?

缓冲流,转换流,数据流


http://lihuaxi.xjx100.cn/news/269261.html

相关文章

综述:神经网络中 Normalization 的发展历程

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达来自 | 知乎 作者丨没头脑链接丨https://zhuanlan.zhihu.com/p/75539170目录Local Response NormalizationBatch NormalizationWeight NormalizationLayer Normalization…

《人月神话》——外科手术队伍——笔记!

本章讨论了一个问题“如何在有意义的时间进度内创建大型的系统?” 软件经理测试出来的数据显示“经验和实际的表现没有相互的联系”。 *需要协作沟通的人员的数量影响着开发成本,因为成本的主要组成部分是相互的沟通和交流,以及更正沟…

知乎多场景内容匹配方案荣获CSDN AI优秀案例奖

7月3日,由CSDN主办的2020 AI开发者大会拉开帷幕,以直播形式进行吸引了上万名技术从业者参与。大会颁发了2020 AI企业及技术应用系列奖项,其中知乎凭借“多场景内容匹配方案”荣获“AI优秀案例奖”。 过去一年,人工智能技术研发和…

atitit.跨架构 bs cs解决方案. 自定义web服务器的实现方案 java .net jetty  HttpListener...

atitit.跨架构 bs cs解决方案. 自定义web服务器的实现方案 java .net jetty HttpListener 1. 自定义web服务器的实现方案,基于原始socket vs 基于tcpListener vs 基于HttpListener1 2. download1 3. Lib3 4. Code3 5. HttpListener类4 6. Reef5 1. 自定义web服务器…

MySQL数据库介绍、安装(服务端软件安装、客户端软件安装(图形化界面客户端和命令行客户端))

1. MySQL数据库的介绍 MySQL是一个关系型数据库管理系统,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件,它是由瑞典MySQL AB 公司开发,目前属于 Oracle …

eviews怎么回归道格拉斯生产函数_【干货分享】Eviews估计方法汇总

1最小二乘法(1)普通最小二乘估计(OLS):这是使用的最为普遍的模型,基本原理就是估计残差平方和最小化,不予赘述。(2)加权最小二乘估计(WLS) Eviews路径:LS模型设定对话框-----options OLS的假设条件最为严格&#xff0…

养猪场招研究生年薪18万起?!你怎么看?

点击上方“视学算法”,选择加"星标"或“置顶”重磅干货,第一时间送达本文来源:中国青年报、澎湃新闻、网友评论导读:不少养猪企业扩大养殖规模,且为了适应现代化养殖的需要,广泛招募大学生。据中…

用Python统计分析290种零食,谁能唤起80、90后的童年回忆?

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达嘴里的零食,手里的漫画,心里初恋的童年。——《童年》1块钱能买到什么?对于80、90后的童年来讲,1块钱是4根冰棍&#xff0c…