第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类就是这样一个工具类,使用它能大大的简化我们对文件的操 ...
随机推荐
- oracle-11g2下载安装笔记
一.下载链接地址 http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_database_1of2.zip http://dow ...
- 恐怖的Hibernate和JavaFX Table CallBack!
目录 [隐藏] 1 Hibernate 2 JavaFX Table Hibernate 最近在做 JavaFX 应用,不管再怎么避免数据持久化,但面对几十万的数据量的时候也只能乖乖的去配置持久层框架 ...
- python自动化测试框架unittest
对于刚学习python自动化测试的小伙伴来说,unittest是一个非常适合的框架: 通过unittest,可以管理测试用例的执行,自动生成简单的自动化测试报告: 首先我们尝试编写编写一个最简单的un ...
- 前端笔记之微信小程序(二){{}}插值和MVVM模式&数据双向绑定&指令&API
一.双花括号{{}}插值和MVVM模式 1.1 体会{{}}插值 index.wxml的标签不是html的那些标签,这里的view就是div. {{}}这样的插值写法,叫做mustache语法.mus ...
- 逆向破解之160个CrackMe —— 002-003
CrackMe —— 002 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 2019牛客多校训练第三场H.Magic Line(思维)
题目传送门 大致题意: 输入测试用例个数T,输入点的个数n(n为偶数),再分别输入n个不同的点的坐标,要求输出四个整数x1,y1,x2,y2,表示有一条经过点(x1,y1),(x2,y2)的直线将该二 ...
- vue-cli中的跨域之proxytable
为什么会有跨域? 浏览器有一个叫做同源策略的东西.同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互.这是一个用于隔离潜在恶意文件的重要安全机制. 同源策略规定了如果两个页面的协 ...
- spring架构解析--入门一
Spring 框架中的核心组件只有三个:Core.Context 和 Beans.它们构建起了整个 Spring 的骨骼架构.简单理解: spring core是工具,context是环境,而bean ...
- linux应用问题分析命令
1. 描述 应用问题分析方式及命令有很多,一般都结合着使用,今天主要介绍下: (1)top命令,实时查看服务器资源使用情况,类似windows下的资源管理器: (2)tail命令,实时刷新查看日志命令 ...
- 在Win10下,python3和python2同时安装并解决pip共存问题
前提 本文是在Windows64位系统下进行的,32位系统请下载相应版本的安装包,安装方法类似. 在Win10下,python3和python2同时安装并解决pip共存问题解决: 1.下载python ...