I/O流学习笔记-总结(自用)

Flie的常用方法

        public boolean createNewFile()   创建文件

                1.返回值为true, 说明创建文件成功

                2.返回值为false,说明文件已存在,创建文件失败

        public boolean mkdir()                 创建单层文件夹

                1.创建文件夹成功,返回 true

                2.创建文件夹失败,返回 false

        public boolean mkdirs()                 创建多层文件夹

        public boolean delete()

                1.删除此抽象路径名表示的文件或目录。

                2.如果此路径名表示一个目录,则该目录必须为空才能删除

        public boolean isDirectory()           判断是否为文件夹

        public boolean isFile()                    判断是否为文件

        public boolean exists()                   判断File对象对应的文件或文件夹是否存在 

        public String getAbsolutePath()     获取当前File的绝对路径

        public String getName()                 获取当前File对象的文件或文件夹名称

        public long length()                        获取当前File对象的文件或文件夹的大小(字节)

        public File[] listFiles()                     获取File所代表目录中所有文件或文件夹的绝对路径

字节流

    字节输入流 InputStream 抽象类

            FileInputStream 操作文件的字节输入流

    字节输出流 OuputStream抽象类

             FileOutputStream 操作文件的字节输出流

字符流

    字符输入流 Reader抽象类

            InputStreamReader 输入操作的转换流

                    FileReader 用来操作文件的字符输入流(简便的流)

    字符输出流 Writer抽象类

            OutputStreamWriter 输出操作的转换流

                    FileWriter 用来操作文件的字符输出流(简便的流)

缓冲流

  1. 字节流
    1. 字节输入流 InputStream
      1. FileInputStream 操作文件的字节输入流
      2. BufferedInputStream高效的字节输入流
      3. ObjectInputStream 反序列化流
    2. 字节输出流 OutputStram
      1. FileOutputStream 操作文件的字节输出流
      2. BufferedOutputStream 高效的字节输出流
      3. ObjectOuputStream 序列化流
      4. PrintStream 字节打印流
  2. 字符流
    1. 字符输入流 Reader
      1. FileReader 操作文件的字符输入流
      2. BufferedReader 高效的字符输入流
      3. InputStreamReader 输入操作的转换流(把字节流封装成字符流)
    2. 字符输出流 Writer
      1. FileWriter 操作文件的字符输出流
      2. BufferedWriter 高效的字符输出流
      3. OutputStreamWriter 输出操作的转换流(把字节流封装成字符流)
      4. PrintWriter 字符打印流

方法:
        读数据方法:

                read()                            一次读一个字节或字符的方法

                read(byte[]  char[])        一次读一个数组数据的方法

                readLine()                     一次读一行字符串的方法(BufferedReader类特有方法)

                readObject()                 从流中读取对象(ObjectInputStream特有方法)

        写数据方法:

                write(int)                       一次写一个字节或字符到文件中

                write(byte[] char[])        一次写一个数组数据到文件中

                write(String)                 一次写一个字符串内容到文件中

                writeObject(Object )     写对象到流中(ObjectOutputStream类特有方法)

                newLine()                     写一个换行符号(BufferedWriter类特有方法)

BufferedReader和BufferedWriter复制文件

char[] ch = new char[1024];
int len ;
while ((len = br.read(ch))!=-1){
    bw.write(ch,0,len);
}

Properties

        Properties:Map集合的一种,它是Hashtable集合的子集合,它键与值都是String类型,它是唯一能与IO流结合使用的集合

方法

        setProperty(String key , String value) 

        getProperty(String key ) 

        stringPropertyNames() 返回此属性列表中的一组键

        load( InputStream in ) 从流所对应的文件中,读数据到集合中(字节流)

        load( Reader in )         从流所对应的文件中,读数据到集合中(字符流)

        store( OutputStream out , String message )   把集合中的数据,写入到流所对应的文件中

        store( Writer out , String message)                 把集合中的数据,写入到流所对应的文件中

        注:message是描述信息可以为null

  • 实现文件内容的自动追加
    1. 构造方法
    2. FileOutputStream(File file, boolean append)
    3. FileOutputStream(String fileName, boolean append)
    4. FileWriter(File, boolean append)
    5. FileWriter(String fileName, boolean append)

文件内容自动追加

        FileWriter fw = new FileWriter(fileName, true);

  • 实现文件内容的自动刷新
    1. 构造方法
    2. PrintStream(OutputStream out, boolean autoFlush)
    3. PrintWriter(OutputStream out, boolean autoFlush)
    4. PrintWriter(Writer out, boolean autoFlush)

  • Commons-IO
  1. 方法
    1. readFileToString(File file)                            读取文件内容,并返回一个String;
    2. writeStringToFile(File file,String content)  将内容content写入到file中;
    3. copyDirectoryToDirectory(File srcDir,File destDir);文件夹复制
    4. copyFileToDirectory (File srcFile,File destFile);     文件复制
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值