目录
概念:对计算机存储的文件内容进行输入输出
File类
file类的对象可以表示计算机硬盘上一个文件/目录E:/
应用方法 delete删除文件夹必须为空 否则不可以删除掉
如果有内容 把文件变成数组(.listFiles) 循环删除
不能对文件的内容修改
File file = new File("D:/demo.txt");//表示一个文件
File file1 = new File("D:/demo1.txt");
System.out.println(file.exists());//是否存在这个文件
System.out.println(file.canRead());//是否可读
System.out.println(file.isDirectory());//是否是文件
System.out.println(file.getName());//得到文件的名字
System.out.println(file.length());//得到文件内容的长度
System.out.println(file1.createNewFile());//讲这个文件创建 有则false 无则true
System.out.println(file1.delete());//删除这个文件
System.out.println(file.listFiles());//将文件的内容转成数组存放
输入输出的概念
输入:把硬盘的数据读到程序中,成为输入(读)
输出:进行数据的read操作从程序往外部设备写数据(写)
输入流和输出流
字节输出流(类):outstream
字节输入流(类):inputstream
对文件的移动 用到了循环 数组
字符输出流:Writer
字符输入流:Reader
字节流和字符流
读写单位
字节流(原始):以字节为单位存储的
字符流(包装后的):只能读文字字符
节点流和处理流
节点流:处理某种特定的数据源(文件字符串)
处理流(包装流):其他对象(缓冲区)
处理流关闭之前记得刷新
输入输出节点字符流
字符流:读取的单位是一个字符(纯文本文件 txt java docx)
计算机存储是以字节存储的
Reader
Writer
转换流()
字符流也有 节点流和处理流(包装流)
append(true) 可持续添加 在Writer的构造器中
Print流
PrintWriter
对象输入输出流(处理流)
new的对象都在内存
但是当运行程序结束 需要记录数据
提供的功能 来了 就是将内需的对象输入到一个文件中,做到持久化保存
所以要 先 输出(这个过程叫 序列化) 也不是所有对象可以写入
实现这个Serialzable接口 会隐试的生成一个编号,文件对象改变可能会新成编号 在反序列化可能存在问题 可生成显示的编号
后 输入(这个过程叫反序列化) 也是创建对象的一种方法
transient:关键字:属性不需要被序列化时 使用修饰