第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类就是这样一个工具类,使用它能大大的简化我们对文件的操 ...
随机推荐
- S2:面向对象
面向对象七大设计原则 1. 开闭原则 2. 里氏替换原则 3. 单一职责原则 4. 接口隔离原则 5. 依赖倒置原则 6. 迪米特原则 7.组合/聚合复用原则 原则一:(SRP:Single resp ...
- CSS等分布局方法
原文链接:http://caibaojian.com/css-equal-layout.html CSS等比例划分,在CSS布局中是比较重要的,下面分享几种常用方法和探讨一下兼容性. 一:浮动布局+百 ...
- mysql中防止sql注入
什么是sql注入 图片来源:百度百科 python 操作mysql产生sql注入问题 不用ORM框架,框架中已经集成了防范sql注入的功能,使用pymysql实践一下: # 导入pymysql模块 i ...
- SpringBoot第二十三篇:安全性之Spring Security
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/11350255.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言 系统的安全 ...
- 消息中间件——RabbitMQ(二)各大主流消息中间件综合对比介绍!
前言 消息队列已经逐渐成为企业IT系统内部通信的核心手段.它具有低耦合.可靠投递.广播.流量控制.最终一致性等一系列功能,成为异步RPC的主要手段之一.当今市面上有很多主流的消息中间件,如老牌的Act ...
- 动图+源码,演示Java中常用数据结构执行过程及原理
最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程. 主要基于jdk8, 可能会有些特性与jdk7之前不相同, 例如LinkedList Linke ...
- Redis 5.0.5集群搭建
Redis 5.0.5集群搭建 一.概述 Redis3.0版本之后支持Cluster. 1.1.redis cluster的现状 目前redis支持的cluster特性: 1):节点自动发现 2):s ...
- LoRaWAN_stack移植笔记(三)__SPI
stm32相关的配置 由于例程使用的主控芯片为STM32L151C8T6,而在本设计中使用的主控芯片为STM32L051C8T6,内核不一样,并且Cube库相关的函数接口及配置也会有不同,所以芯片的驱 ...
- Java 8 为什么会引入lambda 表达式?
Java 8 为什么会引入lambda ? 在Java8出现之前,如果你想传递一段代码到另一个方法里是很不方便的.你几乎不可能将代码块到处传递,因为Java是一个面向对象的语言,因此你要构建一个属于某 ...
- MySQL多表关联数据同时删除
MySQL多表关联时的多表删除: DELETE t1, t2FROM t1LEFT JOIN t2 ON t1.id = t2.idWHERE t1.id = 25