File类
用来将文件或者文件夹封装成对象
方便对文件与文件夹的属性信息进行操作
流只能操作数据,不能操作目录
静态属性File.separator 名称分隔符
文件创建步骤
1 封装成文件 new File()
2 创建 file.createNewFile();
File类常见方法:
文件创建
boolean createNewFile() 在指定位置创建文件,如果文件存在,则不创建,返回false
输出流创建文件,如果文件存在,会覆盖原有文件
boolean mkdir() 创建一级目录
boolean mkdirs() 创建多级目录
对一个文件是否是文件或者目录时,要先判断该文件对象封装的内容是否存在
删除
boolean delete() 删除失败返回false
void deleteOnExit();
判断
boolean exists() 文件是否存在
isFile()
isDirictory()
调用文件的list()方法时 File对象必须是封装了一个目录,该目录还必须存在。
如果是具体的文件调用list()方法会抛空指针异常。
File f = new File(“c:\\abc”);
String[] names = f.list();
循环打印目录使用递归
递归要注意
1. 限定条件
2. 要注意递归的次数,尽量避免内存溢出
删除文件
带内容的目录,从里往外删除
递归调用先删除文件,在删除文件夹
*java 删除文件不到回收站
Properties是hashtable的子类,具备map集合的特点,存储的键值对都是字符串,是集合中和IO技术结合的集合容器。
特点:可以用于键值对形式的配置文件
获取键 getPropertyNames()
获取值 getProperty(String key);
设置值 setProperty(String key , String value);
获取所以属性
JDK1.5 propertyNames()
JDK1.6 stringPropertyNames()
Properties 可以加载流中的文件 TXT
从流中读取文件内容
1. 字节流
2. 字符流
FileReader fs = new FileReader(“1.txt”);
Properties pp = new Properties();
pp.load(fs);
修改硬盘中的文件
setProperty(String key , String value);
保存
store
(
OutputStream
out,
String
comments)
store
(
writer
out,
String
comments)
comments
注释文字
Print
类
PrintStream
类
构造方法参数类型
1.file
对象 File 2.字符串路径 String 3.字节输出流
PrintWriter
类
构造方法参数类型
1.
file
对象 File 2.字符串路径 String 3.字节输出流 outputstream 4.字符输出流 writer
序列流
SequenceInputStream类
对多个流进行合并
文件的切割,合并
Object 流
ObjectInputStream 与ObjectOutputStream
关键 Serializable 接口 由JDK控制序列化
class T implements Serializable
{
int i=10;
int j=9;
double d=23;
int k = 15;
}
FileOutputStream fos = new FileOutputStream(“d:/java/io/testObject.dat”);
ObjectOutputSteam oos = new ObjectOutputStream(fos);
T t = new T();
t.k=8;
oos.writeObject(t); //向文件中写入对象
FileInputStream fis = FileInputStream(“d:/java/io/testObject.dat”);
ObjectInputStream ois = new ObjectInputStream(fis);
T tRead = (T)ois.readObject(); //读取对象
System.out.println(tRead);
关键字 transient 修饰的成员变量,在序列化时不与考虑,即不被写入硬盘中
关键字 externalizable接口 给用户自己提供序列号接口
分享到:
相关推荐
类加载器 ClassLoader 反射 Stream 流 函数式编程 Lambda 表达式 网络编程-协议 网络编程-端口 网络编程-IP 多线程 IO流-字节流 IO流-字符流 IO流-转换流 File Map HashMap 序列化和反序列化 可变参数 类型通配符 ...
主要讲解了System类、Object类、Arrays类、Cloneable接口、IO系统输入输出类及装饰类、IO系统文本读写工具类、IO系统二进制读写工具类、对象序列化工具类、File类及文件搜索工具类、java异常机制及自定义异常类、...
对象的序列化 310 Java两种线程类:Thread和Runnable 315 Java锁小结 321 java.util.concurrent.locks包下常用的类 326 NIO(New IO) 327 volatile详解 337 Java 8新特性 347 Java 性能优化 362
JAVA对象的序列化和反序列化 161 为什么需要序列化和反序列化 161 对象的序列化主要有两种用途 161 序列化涉及的类和接口 162 序列化/反序列化的步骤和实例 162 综合的序列化和反序列化练习 163 JAVA.IO包相关流对象...
031217_【第12章:JAVA IO】_对象序列化笔记.pdf 031218_〖第12章:JAVA IO〗_实例操作—单人信息管理程序笔记.pdf 031219_〖第12章:JAVA IO〗_实例操作:投票程序笔记.pdf 031301_【第13章:Java类集】_认识类集、...
13.1 java.io.File类328 13.1.1 文件和目录是什么?328 13.1.2 Java对文件和目录的操作328 13.2 JavaIO原理332 13.3 流类结构333 13.3.1 InputStream和OutputStream333 13.3.2 Reader和Writer334 13.4 文件流336 ...
学生提问:为什么有栈内存和堆内存之分? 93 4.6.2 基本类型数组的初始化 95 4.6.3 引用类型数组的初始化 96 4.6.4 没有多维数组 99 学生提问:我是否可以让图4.13中灰色覆盖的数组元素再次指向另一个数组?这样...
day10-字符流, 缓冲流、转换流、序列化流,打印流,属性集 day11-Socket网络编程、NIO day12-JUnit单元测试、反射、注解、动态代理 day13-XML和Dom4j,装饰模式,工厂模式,commons-io工具包,Base64
1.6.2 抽象的基础类和接口 1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 1.7.3 集合库与方便使用集合 1.7.4 清除时的困境:由谁负责清除? 1.8 违例控制:解决错误 1.9 多线程 1.10 永久性 1.11 ...
1.6.2 抽象的基础类和接口 1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 1.7.3 集合库与方便使用集合 1.7.4 清除时的困境:由谁负责清除? 1.8 违例控制:解决错误 1.9 多线程 1.10 永久性 1.11 ...
1.6.2 抽象的基础类和接口 1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 1.7.3 集合库与方便使用集合 1.7.4 清除时的困境:由谁负责清除? 1.8 违例控制:解决错误 1.9 多线程 1.10 永久性 1.11 ...
1.6.2 抽象的基础类和接口 1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 1.7.3 集合库与方便使用集合 1.7.4 清除时的困境:由谁负责清除? 1.8 违例控制:解决错误 1.9 多线程 1.10 永久性 1.11 ...
1.6.2 抽象的基础类和接口 1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 1.7.3 集合库与方便使用集合 1.7.4 清除时的困境:由谁负责清除? 1.8 违例控制:解决错误 1.9 多线程 1.10 永久性 1.11 ...
1.6.2 抽象的基础类和接口 1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 1.7.3 集合库与方便使用集合 1.7.4 清除时的困境:由谁负责清除? 1.8 违例控制:解决错误 1.9 多线程 1.10 永久性 1.11 ...
1.6.2 抽象的基础类和接口 1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 1.7.3 集合库与方便使用集合 1.7.4 清除时的困境:由谁负责清除? 1.8 违例控制:解决错误 1.9 多线程 1.10 永久性 1.11 ...
JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用...
Serializable 类通过实现 java.io.Serializable 接口以启用其序列化功能。 类摘要 BufferedInputStream BufferedInputStream 为另一个输入流添加一些功能,即缓冲输入以及支持 mark 和 reset 方法的能力。 ...
1.6.2 抽象的基础类和接口 1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 1.7.3 集合库与方便使用集合 1.7.4 清除时的困境:由谁负责清除? 1.8 违例控制:解决错误 1.9 多线程 1.10 永久性 ...
java.io 通过数据流、序列化和文件系统提供系统输入和输出。 java.lang 提供利用 Java 编程语言进行程序设计的基础类。 java.lang.annotation 为 Java 编程语言注释设施提供库支持。 java.lang.instrument 提供允许...