异常分为:受检查异常 不受检异常
(异常是否抛出?) :如果是因为传参导致异常,应该通过throws将异常抛出。
绝对路径:从盘符开始,是一个完整的路径,例如:c://a.txt
相对路径:在Java代码中是相对于项目目录的路径,这是一个不完整的便捷路径,在代码开发中很常用。例如:a.txt
获取路径的方法 getAbsolutePath(). 获取对象 getAbsoluteFile()
File类:文件和路径名的抽象的表式,即在代码中就是表示某个文件,在系统硬盘中的位置。(一般在硬盘中的位置使用参数来表示)
常用方法:
createNewfile() 返回值是Boolean类型,只有不存在这个文件时候才会创建文件
mkdir() 创建文件夹
delete() 删除
exists()判断是否存在
isFile() 判断是否为文件 isDirectory() 是否为文件夹
renameTo 重命名
File.pathSeparator 文件分隔符
File.separator 名称分隔符
I/O流分类:
一切皆字节(计算机中的任何数据都是以二进制的形式储存的)
在数据传输时,也都以二进制的形式存储的
在传输时底层都是二进制
字节流:
- 输入流:InputStream
- 输出流:OutputStream
字符流:
- 输入流: Reader
- 输出流: Writer
FileOutputStream用于写入图像数据的原始字节流,编写字符流更适合用FileWrite
Writer 用于字符流的抽象类。子类必须实现的唯一方法时write
对象流:ObjectOutputStream
序列化与反序列化 (对象类实现Serializable接口Externalizable)
序列化是指将Java对象转换为字节序列的过程,Java反序列化是指将字节序列恢复为java对象的过程,通过序列化和反序列化实现网络传输,本地存储的目的。
序列化,就是将对象以文件的方式存储到硬盘中。可以自己编写一个序列化的工具。
//步骤1,将对象序列化到制定文件中(与对象有关建议使用ObjectOutputStream)
public void mySerialize(Object obj,String fileName) throws IoException{
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream(fileName) );
out.writeObject(obj);
out.close();
}
//步骤2 将文件反序列化到对象
public void myDeSerialize(Object obj,String fileName) throws IoException{
ObjectInputStream in= new ObjectInputStream(new FileInputStream(fileName) );
Object = in.readObject();
return Object ;
}

序列化对象中部分序列化的几种方式
1、修饰属性为transient与static 的无法杯序列化
2、注意:添加的两个方法必须是private void,否则不生效。 Java调用ObjectOutputStream类检查其是否有私有的、无返回值的writeObject方法,如果有, 其会委托该方法进行对象序列化。

try-with-resources
1.7之前,将对象放入try后面的括号中【必须可以关闭。及实现了close接口】就finally无需编写可以自动实现finally中的内容

不合理1:当fr是传参过来的时候无法使用此方法
不合理2:方法体外还想使用时,无法调用
1.9进行了优化

725

被折叠的 条评论
为什么被折叠?



