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泛型和文件操作的更多相关文章

  1. Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录

    Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator // ...

  2. Java中的文件操作(一)RandomAccessFile

    今天,学到的是java中的文件操作. Java.IO.File Java中操作文件用到RandomAccessFile类,既可以读取文件内容,也可以向文件输出数据,但不同与普通输入/输出流的是Rand ...

  3. Java审计之文件操作漏洞

    Java审计之文件操作漏洞篇 0x00 前言 本篇内容打算把Java审计中会遇到的一些文件操作的漏洞,都给叙述一遍.比如一些任意文件上传,文件下载,文件读取,文件删除,这些操作文件的漏洞. 0x01 ...

  4. Java最全文件操作实例汇总

    本文实例汇总了Java文件操作.分享给大家供大家参考,具体如下: 1.创建文件夹 ? 1 2 3 4 5 6 7 8 9 10 11 //import java.io.*; File myFolder ...

  5. Java中的文件操作

    在使用计算机编程中,常常会用到对于文件的操作,以下是我对于Java中文件的相关内容学习之后的一个总结和在学习过程中遇到的一些问题. 一.什么是文件 对于文件进行操作,首先我们要知道什么是文件.在此之前 ...

  6. 关于文件的INode与Java中的文件操作接口

    本文由作者周梁伟授权网易云社区发布. 近日做的项目中涉及到多进程共同读写多个文件的问题,文件名和最后修改时间都是可能会被频繁修改的,因而识别文件的唯一性会产生相当的麻烦,于是专门再学习了一下文件系统对 ...

  7. Java7 新特性 —— java.nio.file 文件操作

    本文部分摘自 On Java 8 自 Java7 开始,Java 终于简化了文件读写的基本操作,新增了 java.nio.file 库,通过与 Java8 新增的 stream 结合可以使得文件操作变 ...

  8. Java和Android文件操作

    File这是文件基类,抽象地代表一个文件实体,它有四个不同的构造方法: File(File dir, String name)  File(String path)   File(String dir ...

  9. java使用FileUtils文件操作神器

    前言: 在工作当中我们往往遇到很多文件的操作,我们也习惯写一些自己定义的工具类来简化文件操作,其实apache的commons的FileUtils类就是这样一个工具类,使用它能大大的简化我们对文件的操 ...

随机推荐

  1. JDK、JRE、JVM之间的区别和联系

    JDK : Java Development ToolKit(Java开发工具包).JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工 ...

  2. 【算法】【排序】【插入类】希尔排序 ShellSort

    #include<stdio.h> #include <time.h> #include<stdlib.h> int main(){ ]; //设立随机数 sran ...

  3. Spark 系列(五)—— Spark 运行模式与作业提交

    一.作业提交 1.1 spark-submit Spark 所有模式均使用 spark-submit 命令提交作业,其格式如下: ./bin/spark-submit \ --class <ma ...

  4. Netty学习(六)-LengthFieldBasedFrameDecoder解码器

    在TCP协议中我们知道当我们在接收消息时候,我们如何判断我们一次读取到的包就是整包消息呢,特别是对于使用了长连接和使用了非阻塞I/O的程序.上节我们也说了上层应用协议为了对消息进行区分一般采用4种方式 ...

  5. HTML/CSS:div居中和div内部元素垂直居中(1)

    div居中 div水平和垂直居中,text-align和vertical-align不起作用,因为标签div没有这两个属性,所以再css中设置这两个值不能居中的效果 1. div水平居中:设置marg ...

  6. 如何调教你的博客Episode2——移动端支持和UI美化

    这个系列的文章是我在搭建博客园博客时所经历的过程. 在上一期如何调教你的博客Episode1——修改整体样式中,我们通过添加CSS样式,修改了页面的总体布局.但将文章发出之后,博客的布局就出现问题了: ...

  7. 消息中间件——RabbitMQ(三)理解RabbitMQ核心概念和AMQP协议!

    前言 本章学习,我们可以了解到以下知识点: 互联网大厂为什么选择RabbitMQ? RabbiMQ的高性能之道是如何做到的? 什么是AMQP高级协议? AMQP核心概念是什么? RabbitMQ整体架 ...

  8. Alfred上可提高工作效率的Workflow推荐

    温馨提示:本文中Alfred是Mac平台的工具,不适用于其他平台. Alfred是Mac平台上被很多人吹爆的一款效率提升软件,我刚毕业工作的时候就看到公司内网有人推荐,但没有尝试. 后来我跳槽后自己买 ...

  9. Go类型别名与类型定义区别

    类型别名和自定义类型区别 自定义类型 //自定义类型是定义了一个全新的类型 //将MyInt定义为int类型 type MyInt int 类型别名 //类型别名规定:TypeAlias只是Type的 ...

  10. windows下搭建syslog服务器及基本配置

    一.环境 windows7 64位+ kiwi_syslog_server_9.5.0 kiwi_syslog百度云下载地址: 链接: https://pan.baidu.com/s/1EpPBNsL ...