第11讲-Java泛型和文件操作
1、知识点
1.1、课程回顾

1.2、本章重点
1.2.1、泛型
1.2.2、文件操作
2、具体内容
2.1、Java泛型
2.1.1、为什么需要泛型
我们发现在List中,底层是Object[ ]数组,那么也就是说,List可以存储任意对象类型。但是在实际开发中,我们一般一个List只存储一种类型,所以LIst就无法保证数据类型的约束。
第二点,我们存储的假如是String,那么我们希望取出来的数据类型也是String,没有泛型的时候,无论存什么,取出来的数据类型都是Object。我们希望存什么,取出来的就是什么。

2.1.2、集合框架添加泛型?

注意:泛型添加的时候,不能添加,基本数据类型。因为无论什么情况,底层就是Object[ ]数组,所以说LIst只能添加对象类型,而我们添加的泛型只不过是将Object[ ]具体化,基本类型不属于对象类型,所以不能添加基本类型泛型。
------》基本类型的包装类
2.1.3 自定义泛型



2.2、文件操作
2.2.1、文件操作学什么?
文件操作就是用Java代码操控我们操作系统中的文件。也就是说,我们通过代码对文件/文件夹进行增删改查;
2.2.2、File

A File对象的创建(路径分割符)

B 创建文件/文件夹

C、删除文件/文件夹

D、修改文件

E、文件查询

F、递归读取文件目录


这个地方仅仅让大家感受一波什么是递归。
3.1 总结本章知识点
3.2 面试题答案
3.3 预习下一章重点
4、练习任务
任务一 IO 字节流 的 读 和 写
IO操作(文件内容的读写)
Io其实就是输入、输出
I InputStream 输入流
O OutStream 输出流
java IO即Java输入输出系统。不管我们编写何种应用,都难免和各种输入输出相关的媒介打交道,其实和媒介进行IO的过程是十分复杂的,这要考虑的因素特别多,比如我们要考虑和哪种媒介进行IO(文件、控制台、网络),我们还要考虑具体和它们的通信方式(顺序、随机、二进制、按字符、按字、按行等等)。Java类库的设计者通过设计大量的类来攻克这些难题(Java设计者将复杂的io操作封装成一个个方法,那么我们再去操作io的时候,只需要调用他们写好的方法就可以了),这个类就位于java.io包中。
在JDK1.4之后,为了提高JavaIO的效率,Java又提供了一套新的IO,JavaNewIO简称Java NIO。

2.1.2 Java IO操作我们学习的重点是什么?
学习通过Java IO代码来对文件中的内容进行读写。
2.1.3 IO分类
流:输入流 输出流
方式:字节流 字符流
IO具体的流:
字节输入流 InputStream 字节输入流 OutputStream
字符输入流 Reader 字符输出流 Writer
我们如何区分到底是输入还是输入:
读进来(reader in) 写出去(Writer Out)

3.1 字节输出流
输出第一种方式 输出的是 码值

输出的第二种方式 byte[]数组的形式

输出的第二种方式 byte[]数组的形式 但是只输出部分内容

在原先文件内容之后追加内容而不是覆盖

应用:动态生成各种文件
3.2 字节输入流 FileInputStream
3.1 第一种读取方式

3.2 读取到byte数组中

3.3 读取到byte数组中 指定位置

3.4 循环读取内容

第11讲-Java泛型和文件操作的更多相关文章
- Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录
Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator // ...
- Java中的文件操作(一)RandomAccessFile
今天,学到的是java中的文件操作. Java.IO.File Java中操作文件用到RandomAccessFile类,既可以读取文件内容,也可以向文件输出数据,但不同与普通输入/输出流的是Rand ...
- Java审计之文件操作漏洞
Java审计之文件操作漏洞篇 0x00 前言 本篇内容打算把Java审计中会遇到的一些文件操作的漏洞,都给叙述一遍.比如一些任意文件上传,文件下载,文件读取,文件删除,这些操作文件的漏洞. 0x01 ...
- Java最全文件操作实例汇总
本文实例汇总了Java文件操作.分享给大家供大家参考,具体如下: 1.创建文件夹 ? 1 2 3 4 5 6 7 8 9 10 11 //import java.io.*; File myFolder ...
- Java中的文件操作
在使用计算机编程中,常常会用到对于文件的操作,以下是我对于Java中文件的相关内容学习之后的一个总结和在学习过程中遇到的一些问题. 一.什么是文件 对于文件进行操作,首先我们要知道什么是文件.在此之前 ...
- 关于文件的INode与Java中的文件操作接口
本文由作者周梁伟授权网易云社区发布. 近日做的项目中涉及到多进程共同读写多个文件的问题,文件名和最后修改时间都是可能会被频繁修改的,因而识别文件的唯一性会产生相当的麻烦,于是专门再学习了一下文件系统对 ...
- Java7 新特性 —— java.nio.file 文件操作
本文部分摘自 On Java 8 自 Java7 开始,Java 终于简化了文件读写的基本操作,新增了 java.nio.file 库,通过与 Java8 新增的 stream 结合可以使得文件操作变 ...
- Java和Android文件操作
File这是文件基类,抽象地代表一个文件实体,它有四个不同的构造方法: File(File dir, String name) File(String path) File(String dir ...
- java使用FileUtils文件操作神器
前言: 在工作当中我们往往遇到很多文件的操作,我们也习惯写一些自己定义的工具类来简化文件操作,其实apache的commons的FileUtils类就是这样一个工具类,使用它能大大的简化我们对文件的操 ...
随机推荐
- Day01:JAVA开发环境
下载JDK 首先我们需要下载java开发工具包JDK,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html,点 ...
- Unittest 支持 case 失败后自动截图功能的另外两种方式
原生的unittest框架是不支持case失败后自动截图的功能的,网上看了大家的解决办法,大体上分为两种:1.要么加装饰器2.也有人封装断言这里我们看看还有没有其他的更加方便的方法值得大家一起探讨一下 ...
- Visual Studio Debug
在watch窗口输入,$err,hr可以看到上一个错误代码和相关描述信息 Error Lookup可以将错误代码转换成为相应的文本描述 FormatMessage()
- Vsftp服务器配置文件详解
vsftp软件是我们常见的FTP服务器搭建软件,所有的配置都是基于vsftpd.conf这个配置文件的.vsftpd.conf里面主要包括安全配置,传输,用户还有权限等相关的选项.现在我们讲解下关于V ...
- AOSP 预置 APP
Android 系统预置 APP 是做 Framework 应用开发经常经常会遇到的工作,预置 APP 分为两种,一种是直接预置 APK,一种是预置带有源码的 APP. 预置 apk 示例说明 以 . ...
- 5 X 5 方阵引出的寻路算法 之 路径遍历(完结)
此篇文章源自对一个有趣问题的思考,在我的另一篇博文<一个有趣的 5 X 5 方阵一笔画问题>中有详细介绍.在已知其结论的情况下,作为程序员的我,还是想利用该问题当做出发点,写一个可以遍 ...
- Alfred上可提高工作效率的Workflow推荐
温馨提示:本文中Alfred是Mac平台的工具,不适用于其他平台. Alfred是Mac平台上被很多人吹爆的一款效率提升软件,我刚毕业工作的时候就看到公司内网有人推荐,但没有尝试. 后来我跳槽后自己买 ...
- 如果有人问你 Dubbo 中注册中心工作原理,就把这篇文章给他
注册中心作用 开篇首先想思考一个问题,没有注册中心 Dubbo 还能玩下去吗? 当然可以,只要知道服务提供者地址相关信息,消费者配置之后就可以调用.如果只有几个服务,这么玩当然没问题.但是生产服务动辄 ...
- DataTable转成List
DataTable转成List //把一个Datatable 赋值给一个List对象 //定义一个转换类 public class ConvertTool { public static List&l ...
- Java函数式编程原理以及应用
一. 函数式编程 Java8所有的新特性基本基于函数式编程的思想,函数式编程的带来,给Java注入了新鲜的活力. 下面来近距离观察一下函数式编程的几个特点: 函数可以作为变量.参数.返回值和数据类型. ...