JAVA学习

抛出是告诉调用者出错了

捕获是让出错时不要停止继续运行

自定义异常:

1.定义异常类

2.写继承关系

3.空参构造

4.带参构造

意义:就是为了让控制台的报错信息更加见名知意

File:

JAVA学习_第1张图片

JAVA学习_第2张图片

JAVA学习_第3张图片

JAVA学习_第4张图片

length:

细节:这个方法只能获取文件的大小,单位是字节

如果单位我们要是M,G,可以不断的除1024

细节2:这个方法无法获取文件夹的大小,如果我们要获取一个文件夹的大小,需要把这个文件夹里面所有的文件大小都累加在一起

JAVA学习_第5张图片

delete:

delete方法默认只能删除文件和空文件夹,delete方法直接删除不走回收站(删除就没了)

如果删除空文件夹则删除成功,文件夹有内容删除失败

细节1:creatNewFile如果当前路径表示的文件是不存在的,则创建成功,方法返回true

如果当前路径表示的文件是存在的,则创建失败,方法返回false

细节2:如果父级路径是不存在的,那么方法会有异常IOException

细节3:creatNewFile方法创建的一定是文件,如果路径中不包含后缀名,则创建一个没有后缀的文件

mkdir:

细节1:Windows当中路径是唯一的,如果当前路径已经存在,则创建失败

细节2:mkdir方法只能创建单级文件夹,无法创建多级文件夹

mkdirs:

细节:既可以创建多级的,也可以创建单级的

JAVA学习_第6张图片

用于遍历或者拷贝都很好用

JAVA学习_第7张图片

JAVA学习_第8张图片

IO流:

JAVA学习_第9张图片

纯文本文件·:Windows自带的记事本打开能读懂

JAVA学习_第10张图片

字节流:

JAVA学习_第11张图片

FileoutputStream:

书写步骤:

1.创建字节输出流对象

细节1:参数是字符串表示的路径或者是File对象都是可以的

细节2:如果文件不存在会创建一个新的文件,但是要保证父级路径是存在的

细节3:如果文件已经存在会清空文件

2.写数据

细节:write方法的参数是整数,但是实际上写到本地文件中的是整数在ASCLL上对应的字符

3.释放资源

每次使用完流之后都要释放资源

FileoutputStrram写数据的3种方式:

对于第三种方法:

参数1:数组,参数2:起始索引,参数3:个数

FileoutputStream写数据的两个小问题:

换行写:

再次写一个换行符就可以了

续写:

如果想要续写,打开续写开关即可

开关位置:创建对象的第二个参数,默认是false:表示关闭续写,此时创建对象会清空文件,手动传递true:表示打开续写,此时创建对象不会清空文件

举个栗子:FileOutputStream fos=new FileOutputStream(str,true);

JAVA学习_第12张图片

FiileinputStream:

操作本地文件的字节输入流,可以把本地文件中的数据读取到程序中来

书写步骤:

1.创建字节输入流对象

细节1:如果文件不存在,直接报错

2.读数据

细节1:一次读一个字节,读出来的是数据在ASCII上对应的数字

细节2:读到文件末尾了,read方法返回-1

3.释放资源

每一次使用完之后要释放资源

FiileinputStream一次读取多个数据:

JAVA学习_第13张图片

JAVA学习_第14张图片

JAVA学习_第15张图片

将释放资源等扫尾操作放在finally中

字符集:

JAVA学习_第16张图片

GBK:

规则1:汉字两个字节储存

规则2:高位字节二进制一定以1开头,转成十进制之后是一个负数

JAVA学习_第17张图片

Unicode:

UTF-8编码规则:用1到4个字节保存:ASCII,1个字节,简体中文,3个字节

UTF-16编码规则:用2到4个字节保存

UTF-32编码规则:固定使用四个字节保存

JAVA学习_第18张图片

 

JAVA学习_第19张图片

JAVA学习_第20张图片

字符流:

特点:一次读一个字节,遇到中文时,一次读多个字节

FileReader(空参):

JAVA学习_第21张图片

FileReader(有参):

与字节流不同,传入的是char类型的数组

FileWriter:

JAVA学习_第22张图片

JAVA学习_第23张图片

字节流和字符流的使用场景:

字节流:拷贝任意类型的文件

字符流:读取纯文本文件中的数据,往纯文本文件中写出数据

缓冲流:

JAVA学习_第24张图片

JAVA学习_第25张图片

字符缓冲流:

JAVA学习_第26张图片

 

你可能感兴趣的:(java,学习,jvm)