Java IO流相关笔记

1、File 类

        1)创建方式:

                File file = new File( " 相对路径 " );        File file = new File( " 父路径 ",“ 子路径 ” );

                主方法: 工程下                测试方法: 模块下

        2)获取路径:

                a . xx.class.getResource("相对路径").getPath() 是在同包下

                b . xx.class.getClassLorder().getResource("相对路径").getPath() 是在 src 文件下

        3)常用API

                File getAbsoluteFile() - 获取绝对路径
                boolean exists() - 判断该文件是否存在
                boolean isDirectory() - 判断是否是目录
                boolean isFile()  - 判断是否是文件
                boolean createNewFile() - 如果没有,才会创建文件
                boolean delete()  -删除文件    
                boolean mkdir() - 创建单层目录
                boolean mkdirs() -创建多层目录
                String getName() - 获取文件的名字
                String getPath() - 获取文件路径名
               boolean renameTo(File dest) - 从一个文件移动到另一个文件
               String[] list() -列出file所有文件的名字
               File[] listFiles() -列出file所有文件的对象

2、I O 流 类

        1)字节流 : 做文本文件的复制比较合适

        2)缓存字节流:BufferedInputStream / BufferedOutputStream

                在磁盘和内存中出现缓存区,记得手动 flush()刷新缓存区,不然可能操作失败。

        3)字符流 Reader / Writer

                a . 底层字符流 :InputStreamReader / OutputStreamWriter

                        和字节流差不多,记得手动刷新

                        可以读取和写入单个字符

                b . 缓存字符流:

                        BufferedReader :第二层可追加编码方式

BufferedReader br = new BufferedReader(new InputStreamReader
                        (new FileInputStream("xx.txt"),"UTF-8"));

                        PrintWriter:第一层追加是否自动刷新:碰到 println 触发,否则还是得手动调用

                                             第二层追加编码方式        第三层追加是否追加写入文件

PrintWriter pw = new PrintWriter(new OutputStreamWriter
                                        (new FileOutputStream
                                        ("xx.txt",true),"UTF-8"),true);

3、对象流

        ObjectInputStream / ObjectOutputStream

        序列化: 对象 -> 文件[字节]

        实现Serializable接口

        关键词: serialVersionUID : 版本序列号 保证类序列版本号一致,这样改变后也不会出错

                     transient 修饰使不可见

        反序列: 文件[字节] -> 对象

                        

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值