A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【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)        :文件复制

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马