【001】什么是异常?其继承体系是怎么样的?
答:
异常就是程序中出现的不正常现象(错误与异常)
异常的继承体系:
Throwable:它是所有错误与异常的超类
| - Error :严重错误,无法通过处理的错误,修改Java源代码
| - Exception :编译时异常,javac.exe进行编译时报错
| - RuntimeException:运行时异常,Java运行过程中出现的问题
【002】请写出异常处理的两种方式?
答:
① 自己解决:try...catch...finally
try {... } catch (Exception e) {... } finally {... }
② 别人解决:throws
void method() throws Exception {... }
【003】使用递归调用时,需注意哪几方面?
答:
① 要有出口,否则会死循环
② 次数不能过多,否则会内存溢出
【004】简要描述File类及常用方法?
答:
File类是文件和目录路径名的抽象表示形式
构造方法:
public File(String pathname) :通过给定的文件(夹)的路径,来创建对应的File对象
public File(String parent, String child) :通过给定的父文件夹路径,
与给定的文件名称或目录名称来创建对应的File对象
public File(File parent, String child) :通过给定的File对象的目录路径,
与给定的文件名称或目录名称来创建对应的File对象
常用方法:
boolean createNewFile() :创建文件;成功返回true,失败返回false(文件已存在)
boolean mkdir() :创建单层文件夹;成功返回true,失败返回false
boolean mkdirs() :创建多层文件夹
boolean delete() :删除此抽象路径名表示的文件或目录
如果此路径名表示一个目录,则该目录必须为空才能删除
boolean isDirectory() :判断是否为文件夹
boolean isFile() :判断是否为文件
boolean exists() :判断File对象对应的文件或文件夹是否存在
String getAbsolutePath() :获取当前File的绝对路径
String getName() :获取当前File对象的文件或文件夹名称
long length() :获取当前File对象的文件或文件夹的大小(字节)
File[ ] listFiles() :获取File所代表目录中所有文件或文件夹的绝对路径
【005】写出IO流的结构体系
答:
| - 字节流
| - 字节输入流 IuputStream 抽象类
| - FileInputStream 操作文件的字节输入流
| - BufferedInputStream 高效的字节输入流
| - 字节输出流 OutputStream 抽象类
| - FileOutputStream 操作文件的字节输出流
| - BufferedOutputStream 高效的字节输出流
| - 字符流
| - 字符输入流 Reader抽象类
| - InputStreamReader 输入操作的转换流
| - FileReader 用来操作文件的字符输入流
| - BufferedReader 高效的字符输入流
| - 字符输出流 Writer 抽象类
| - OutputStreamWriter 输出操作的转换流
| - FileWriter 用来操作文件的字符输出流
| - BufferedWriter 高效的字符输出流
【006】写出字节流与字符流常用的构造函数与方法?
答:
① 字节流
输出:A、OutputStream
void close() :关闭输出流并释放
void flush() :刷新输出流并写出所有缓冲的输出字节
void write(byte[] b) :将 b.length 个字节从指定的byte数组写入
void write(byte[] b, int off, int len) :将指定的byte中从off开始的len个字节写入
abstract void write(int[] b) :将指定的字节写入此输出流
B、FileOutputStream
FileOutputStream(File file) :创建一个向指定File对象表示的文件中写入数据的文件输出流
FileOutputStream(String name) :创建一个向具有指定名称的文件中写入数据的输出文件流
FileOutputStream(File file, boolean append) :创建一个向指定File对象表示的文件中写入数据的文件输出流
FileOutputStream(String name, boolean append) :创建一个向具有指定name的文件中写入数据的输出文件流
输入:A、InputStream
abstract int read() :从输入流中读取数据的下一个字节
int read(byte[] b) :从输入流中读取一定数量的字节,并将其存储在缓冲区
B、FileInputStream
FileInputStream(File file) :通过打开一个到实际文件的链接来创建一个FileInputStream,该文件通过文件系统中的File对象 file 指定
FileInputStream(String name) :通过打开一个到实际文件的链接来创建一个FileInputStream,该文件通过文件系统中的路径名 name 指定
int read() :从输入流中读取一个数据字节
int read(byte[] b) :从输入流中读取一定数量的字节,并将其存储在缓冲区数组b中
② 字符流
输入:A、Reader
int read() :读取单个字符
int read(char[] ch) :将字符读入数组,并返回读取的个数
B、FileReader
FileReader(File file) :在给定从中读取数据的File的情况下创建一个新FileReader
FileReader(String fileName) :在给定从中读取数据的文件名的情况下创建一个新FileReader
输出:A、Writer
void write(char[] ch) :写入字符数组
abstract void write(char[] ch, int off, int len) :写入字符数组的某一部分
void write(int c) :写入单个字符
void write(String str) :写入字符串
void write(String str, int off, int length) :写入字符串的某一部分
B、FileWriter
FileWriter(File file) :根据给定的File对象构造一个FileWriter对象
FileWriter(File file, boolean append) :根据给定的File对象构造一个FileWriter对象
FileWriter(String fileName) :根据给定的文件名构造一个FileWriter对象
FileWriter(String fileName, boolean append):根据给定的文件名以及指示是否附加写入数据的boolean值来构造FileWriter对象
void close() :关闭此流,但要先刷新它
void flush() :刷新该流的缓冲
【007】flush 和 close 有什么区别?
答:
flush() :将流中的缓冲区缓冲的数据刷新到目的地中,刷新后,流还可以继续使用
close():关闭资源,但在关闭前会将缓冲区中的数据先刷新到目的地(否则丢失数据),然后在关闭流,流不可以使用
如果写入数据多,一定要一边写一边刷新,最后一次可以不刷新,由close完成刷新并关闭
【008】简要描述Properties类
答:
Properties类是map集合的一种,它是Hashtable集合的子集合,它的键与值都是String类型,它是唯一能与IO流结合使用的集合
常用方法:
load(InputStream in) :从流所对应的文件中,读数据到集合中
load(Reader in) :从流所对应的文件中,读数据到集合中
store(OutputStream out, String message) :把集合中的数据,写入到流所对应的文件中
store(Writer out, String message) :把集合中的数据,写入到流所对应的文件中
【009】哪些构造方法可以实现文件内容的自动添加
答:
FileOutputStream(File file, boolean append)
FileOutputStream(String fileName, boolean append)
FileWriter(File file, boolean append)
FileWriter(String fileName, boolean append)
【010】FileUtils类常用的方法
答:
常用方法
readFileToString(File file) :读取文件内容,并返回一个String
writeStringToFile(File file, String content) :将内容content写入到file中
copyDirectoryToDirectory(File srcDir, File destDir) :文件夹复制
copyFileToDirectory(File srcFile, File destFile) :文件复制
|
|