Java每日总结7
今天学习了关于Java文件操作相关的知识。
学自:https://blog.csdn.net/caidewei121/article/details/89426032 和菜鸟教程
一、java.io包。
Java.io包包含了所有操作输出、输出需要的类,所有这些流类代表了输入源和输出目标。
注意:
这些与文件相关的操作全部都有try……catch捕获异常处理的操作。使得程序即使报错也可以正常的运行下去,并显示报错信息
关于这一部分内容,学自:https://blog.csdn.net/qq_34427165/article/details/83929470
/ * try catch:自己处理异常
* try {
*可能出现异常的代码
*} catch(异常类名A e){
*如果出现了异常类A类型的异常,那么执行该代码
*} ...(catch可以有多个)
* finally {
*最终肯定必须要执行的代码(例如释放资源的代码)
*}
*代码执行的顺序:
* 1.try内的代码从出现异常的那一行开始,中断执行
* 2.执行对应的catch块内的代码
* 3.继续执行try catch结构之后的代码
*注意点:
* 1.如果catch内的异常类存在子父类的关系,那么子类应该在前,父类在后
* 2。如果最后中有返回语句,那么最后返回的结果肯定以最终中的返回值为准
* 3。如果最后语句中有回报,那么没有被处理的异常将会被吞掉
关于流:
流是指一连串流动的数据信号,通过先进先出的方式接收和发送数据。
数据流分为输入流和输出流,输入输出流又分为字节流和字符流。
字节流是以字节为单位,在java.io包中,大部分操作继承自InputStream类和OutputStream类
字符流是两个字节为基本单位,专门处理字符串和文本,对于字符流进行操作的类主要是Reader类和Writer类
1.File类
File类可以用于创建文件。还有其他对文件进行操作(如获取文件地址、获取文件长度、判断目录是否存在)的方法。
创建文件的方法:
File f1=new File("src\\aa.txt"); //文件地址
2.字节流
读入文件和往文件中写入内容分别通过FileInputStream和FileOutputStream类实现。
(1)对于FileInputStream类,它继承自InputStream类,是一个文件输入流,进行文件读操作最基本的类;注意,由于字节流的缘故,它无法读取中文字符。
用法:
(使用一个文件对象来创建一个输入流对象来读取文件)
File file=new File("src\\aa.txt"); FileInputStream f1=new FileInputStream(file);
(2)对于FileOutputStream类,它继承与OutputStream类,是文件输出流,是文件基本读写的一个类,它可以将内存中的数据输出到文件中。
用法:
(使用一个文件对象来创建一个输出流来写文件)
File file=new File("src\\aa.txt");
FileOutputStream f1=new FileOutputStream(file);
我们在输入流中使用 byte(字节)数组 来存储我们的数据,因此我们不必考虑数据格式,所以说这两种操作的效率会比较高
3.字符流
(1)写入文件:
FileWriter类与BufferWriter类。
前面我们FileInputStream时,使用的是字节流,但是有个问题无法解决,它只能读取英文字符,而中文字符是无法读取的。通过这个操作我们可以读入中文字符
附一下这个博主写的文章,里边有具体用法https://blog.csdn.net/caidewei121/article/details/89426032
(2)读取文件:
FileReader类 与 BufferedReader类
二、Java中的目录
创建目录:
File类中有两个方法可以用来创建文件夹:
- mkdir( )方法创建一个文件夹,成功则返回true,失败则返回false。失败表明File对象指定的路径已经存在,或者由于整个路径还不存在,该文件夹不能被创建。
- mkdirs()方法创建一个文件夹和它的所有父文件夹。
删除文件:删除文件可以使用 java.io.File.delete() 方法