异常

什么是异常

即非正常状况,粗浅地说,异常便是程序出现的过失。

异常的分类

  • 顶层父类: Throwable
  • 子类: Error(过失,不需要咱们处理)
  • 子类: Exception(异常, 这个才是咱们常说的异常)

异常( Exception )

合理的应用程序或许需要捕获的问题;
举例: NullPointerException

数组初始化错( Error )

合理的应用程序不应该妄数组去重图捕数组c言语获的问题;
举例: StackOverFlowError
Java常用工具——IO流

异常的处理办法

JVM默许的异常处理办法

在控制台打印过失信息,并中止程序。jvm类加载机制

开发中异常的处理办法

Java常用工具——IO流

  • try..catch ( finally) : 捕获,自己处理;
try {
//测验实施的代码
} catch(Exception e) {
//出现或许的异常之后的处理代码
} finally {
// 正常状况下必定数组c言语会实施的代码,如封闭资源
}

特征:处理完异常,程序会继续实施。
实施流程:
先实施try{}中的内容,看是否有问题(异常);
没有jvm原理:直接实施finally语句中的内容;
有:跳转到catch0 ()语句中开端实施,再实施finally{)} 语句中的内容.

  • throws :抛出,交给调用者处理。
public vo数组c言语id办法名0 throws Exceptoin {
}

特征:
实施jvm优化结束后,程序不在实施。

IO流

什么是IO流

I/O ,即输入数组排序( Input )输出( Output) , IO流指的是数据像
连绵的流体相同进行传输。

IO流精干什么?

在本jvm调优地磁盘和网络上操作数据。

IO流的分类

按数据流向分:

  • jvm类加载机制入流;
  • 输出流。

按操作办法分jvm原理:

  • 字节省:

InputStream
OutputStre数组和链表的差异am

  • 字符流:

Reader
WJVMriter

IO流系统

字符流:

按字符读写数据的IO流

Reader  字符输入流的顶层抽象类
——FileReaderjvm类加载机制 一般的字符输入流
——BufferedReader 高效的字符输入流(也叫:字符缓冲输入流)
Writer  字符输出流的顶层抽象类
——FileWriter 一般的字符输入流
——Bufferedjvm调优面试Writer 高效的字符输入流(也叫:字符JVM缓冲输入流)

Java常用工具——IO流

字节省:

按字节读写数据的IO流

In数组的界说putStream 字节输入jvm内存结构流的顶层抽象类
FileInputStream 一般的字节输入流
BufferedIjvm是什么意思nputStream 高效字节输入流
OutputStream 字节输出流的顶层抽象类
FileOutput数组词Stream 一般的字节输出流
BufferedOutputStream 高效的字节输出流

Java常用工具——IO流

File类

概念

数组指针件,文件夹,一jvm调优个File政策代表磁盘上jvm调优的某个文件或文件夹

结构办法:

File(String pathname)  根据字jvm内存模型符串办法的途径获jvm调优面试题取File政策.
File(String parent, String child) 根据字符串办法的父目录以及子目录创立数组去重File政策.
File(File parent, String child) 根据父目录政策,以及字符串办法的子目录来获取File政策.

成员办法:

创立功用: 假设不存在就创立,回来true,不然就不创立,回来fajvm内存结构lse.
createNewFile():创立文件
mkdir()和mkdirs()∶创立单级目录和多级目录
判别功用
isDirectory():判别File政策数组词是否为目录
isFile(数组排序):判别File政策是否为文件
exists():判别File政策是否存在
获取办法
getAbsolutePath()∶获取绝对途径
绝对途径:以盘符开头的数组去重途径.例如:D:/1.txt
getPath()∶获取文件的相对途径
相对途径:—般是相对于当时项目途径来讲的.例如: 1.txt
getName()∶获取文件名
list()∶获取指定目录下一切文件(夹)名称数组
listFiles():获取指定目录下一切文件jvm调优参数(夹)File数组

字符流读写文件

字符流读数据–按单数组词个字符读取

  • 创立字符流读文JVM件政策:

Reader reader = new FileReadjvm调优er("readme.txt") ;

  • 调用办法读取数据:

int data = reader.read() ;
读取一个字符,回来该字符代表的整数,若抵达流的结束,回来-1。

  • 异常处理:

throws IOEJVMxception

  • 封闭资源:

reader.closejvm内存结构();

字符流读数据-按字符数组读取

Reader reader = new FileReader("readme.txt")

  • 调用办法读取数据∶

char[] chs = new char[2048];int len = r.read(chs) ;
读取字符数组词到数组中,回来读取的字符数,若抵达流的结束,回来-1

  • 异常处理:

throws IOException

  • 封闭资源∶

reader.close();

字符流写数据–按单个字符写入

  • 创立字符流写文件政策∶

Writer wjvm原理riter = new FileWriter("dest.txt") ;

  • 调用办法写入数据︰

int x =’中’;writer. write(x);写一个字符

  • 异常处理数组指针:

thr数组c言语ows IOException

  • 封闭资源︰

wr数组去重的5种办法itjvm内存结构er.cjvm废物收回机制lose();

字符流写数据―按字符数组写入

  • 创立jvm内存结构字符流写文件政策∶

Writer writer = new FileWriter("dest.txt") ;

  • 调用办法写入数据∶

char[] chs数组 = {橙’,’心',’橙’,’意’};writer.write(chs);
写一个字符数组

  • 异常处理:

throws IOException

  • 封闭资源:

writer.close();

字符流写数据-按字符串写入

  • 创立字符流写文件政策∶

Writer writer = new FileWriter("dest.txt");数组和链表的差异

  • 调用办法写入数据∶

writer数组去重的5种办法. write("小黑爱学习");写一个字符串

  • 异常处理:

throws IOException

  • 封闭资源:

writer.close();

jvm调优面试题符流拷贝文件

按单个字符读写

  • 创立jvm调优参数字符流读文件政策∶

Reader reader = new FileReader("rjvm是什么意思eadme.txt")

  • 创立字符流写文件政策︰

Writer writer = ne数组c言语w FileWriter("dest.tjvm调优面试题xt");

  • 调用办法读取数据︰

int data = reader.read()数组的界说 :

  • 调用办法写入数据︰

writer. write(data) ;

  • 异常处理:

throws IOException

  • 封闭资源︰

reader.cjvm内存模型lose();
writer.close();

创立字jvm调优参数符流读文件政策∶

Reader reader = new FileRead数组排序er("readme.txt") ;
创数组建字符流写文件政策∶
Writer writer = new FileWriter("dest.txt") ;
调用办法读取数据:
char[] chs = new char[2048];int len = reader.read(chs);
调用办法写入数据:
writer. write(chs,0,数组排序len) ;
异常处理:
throws IOException
封闭资源:
reader.close();writer.close();

字符缓冲流拷贝文件的规范代码

创立数组初始化字符流读文件政策∶
BufferedReader bjvm优化r = new BufferedReader(
new FileReader("readme.txt"));
创立字符流写文件政策∶
BufferedWriter b数组w = new BufferedWriter(
new FileWriter("dest.txt"));
异常处jvm调优参数理:
th数组指针rows IOException
运用while循环读写数据:
i数组和链表的差异nt len;
while((len = br.rejvm原理a数组公式d()) != -1) {
bw.write(len) ;
}
封闭资源:
br数组去重的5种办法.clo数组初始化se() ;bw.close() ;

字符缓冲流用法:

分类:
BufferedReader:字符缓冲输入流(也叫高效字符输入流)
成员办法:
public String readLine();一次读取一行数据并回来读取到的内容,读不到回来null
BufferedWriter:字符缓冲输出流(也叫高效字符输出流)
成员办法:
public void newLine () ;根据当时操作系统给出对应的换行符.
特征:
字符缓冲流自带有缓冲区,巨jvm原理细为8192个字符,也便是16KB.
//需求:经过字符缓冲流"一次读写一行数组排序"的办法,将1.txt文件中的内容拷贝到2.txt文件中.//1.创立字符缓冲输入流政策,相关数据源文件.
//吞并版
BufferedReader br = new BufferedReadjvm内存结构er(new FileReader("lib/1.txt") );
//2.创立字符缓冲输出流政策,相关目的地文件.
BufferedWriter bw = new BufferedWri数组和链表的差异ter(new FileWriter("lib/2.txt") );数组去重的5种办法
//3.界说变量,记载读取到的内容.
String str ;
//4数组公式.循环读数组去重的5种办法取,只需条件满足就一直读,并将读取到的内容赋值给变量.
while((sjvm原理tr = br.r数组和链表的差异eadLine)) !jvm调优面试题= null){
//5.将读取到的内容写入到目的地文件中.
bw.write(str) ;
//千万留神一个小细节,你特别简单忽略
//千万别忘记换行
bw.newLine();
}
//6.开释资源.br.close()jvm原理 ;
bw.close() ;
特征数组和链表的差异:
字符缓数组c言语数组公式流自带有缓冲区,大小为8192个字符,也便是16KB.
留神:
字符流只能拷贝纯文本文件.

字节省读写文件

字节jvm内存结构约拷贝文件―按单个字节读写

创立字节省读文数组去重件政策∶
InputS数组去重的5种办法tream is = new FileInputStream("D数组的界说esktop.jpg");
创立字节省写文件政策∶
OutputStream os = new FileOutputStream(
"D: l博学谷桌面.jpg") ;
异常处理:
throws IOException
运用while循环读写数据:
int b;数组和链表的差异
while((b = is.read()) != -1) {
os.write(b);
}
封闭资源:
is.clos数组初始化e() ;
os.close( ;

字节jvm废物收回机制约拷贝文件―按字节数组读写

创立字节省读文件政策:
InputStream is = new FileInputStjvm内存模型ream("Deskto数组排序p. jpg")jvm原理;
创立数组字节省写文件政策∶
Outpjvm类加载机制utStream os = new FileOut数组公式putStreamJVM(
"D: l博学谷桌面.jpg") ;
异常处理:
throws IOjvm优化Exception
界说字节数组,每次读取2048个字节:
byte[] b = new byt数组e[2048];
运用while循环读写数据︰
int len;
while((len = is.read(b)) != -1) {
os. write(b,0,len) ;
}
封闭资源;
is.close()数组去重 ;
os.close() ;

字节缓冲流拷贝文件的规范代JVM

创立字节缓冲流读文件政策∶
Bjvm优化uffe数组公式redInputStream bis = new Buffe数组词redInputStream(
new FiJVMleInputStream("a. jpg"));
创立字节缓冲流写文件政策:
BufferedOutp数组初始化utStream bos = new BufferedOutputStream(new FileOutputStream(
"b.jpg"));
异常处理:
throws IOException
运用while循环读写数据︰
int len;
while((lenjvm类加载机制 = bis.read()) != -1) {
bos.write(len) ;
}
封闭资源:
bis.close() ;
bjvm内存结构os.close();