IO总结

java.io.File

**概述:**文件和目录路径名的抽象表示。
常用方法:

变量和类型方法概述
StringgetAbsolutePath()返回此抽象路径名的绝对路径名字符串。
StringgetName()返回此抽象路径名表示的文件或目录的名称。
StringgetPath()将此抽象路径名转换为路径名字符串。
longlength()返回此抽象路径名表示的文件的长度。
booleanisFile()测试此抽象路径名表示的文件是否为普通文件。
booleanisDirectory()测试此抽象路径名表示的文件是否为目录。
File[]listFiles()返回一个抽象路径名数组,表示此抽象路径名表示的目录中的文件。
booleanmkdirs()创建此抽象路径名指定的目录,包括任何必需但不存在的父目录。
booleanrenameTo​(File dest)重命名此抽象路径名表示的文件。

成员属性:

变量和类型字段描述
static StringpathSeparator与系统相关的路径分隔符,为方便起见,表示为字符串。";"
static Stringseparator系统相关的默认名称分隔符,为方便起见,表示为字符串。""

文件过滤器FileFilter

是一个功能接口,不常用,了解
例:

public class Demo2 {
    public static void main(String[] args) throws IOException {
        File file = new File("文件位置");
        listFile(file);
    }
    public static void listFile(File file){
        FileFilter filter = new movFilter();
        File[] files = file.listFiles(filter);
        if (files!=null && files.length>0){
            for (File f:files) {
                if (f.isDirectory()){
                    listFile(f);
                } else {
                    System.out.println("找到一个avi文件:" + f.getAbsolutePath());
                }
            }
        }
    }
    static class aviFilter implements FileFilter{

        @Override
        public boolean accept(File pathname) {
            if (pathname.getName().endsWith(".avi")||pathname.isDirectory())
                return true;
            return false;
        }
    }
}

相对路径和绝对路径

绝对路径:从盘符开始,是一个完整路径。例如:c://a.txt
相对路径:在java代码中是相对于项目目录路径,这是一个不完整的便捷路径。在java开发中很常见。例如:a.txt

流概念

概述

我们可以将这种数据传输的操作,看做一种数据的流动,按照流动的方向分为输入Input和输出Output。
java中的IO操作主要是指java.io包下的一些常用类的使用。通过这些常用类对数据进行读取(输入Input)和 写出(输出Output)
注:
流一定要记得关闭close()

IO流的分类

  • 按照流的方向来分,可以分为:输入流和输出流。
  • 按照流动的数据类型来分,可以分为:字节流和字符流
    其中他们的顶级父类分别是:
    字节流:
    - 输入流:InputStream
    - 输出流:OutputStream
    字符流:
    - 输入流:Reader
    - 输出流:Writer

java.io.OutputStream

一切皆字节:
计算机中任何数据(文本,图片,视频,音乐等等)都是以二进制的形式储存的。
在数据传输时 也都是以二进制的形式储存的。
任何流在传输时底层都是二进制。

变量和类型方法描述
voidclose()关闭此输出流并释放与此流关联的所有系统资源。
voidflush()刷新此输出流并强制写出任何缓冲的输出字节。
static OutputStreamnullOutputStream()返回一个新的 OutputStream ,它丢弃所有字节。
voidwrite​(byte[] b)将 b.length字节从指定的字节数组写入此输出流。
voidwrite​(byte[] b, int off, int len)将从偏移量 off开始的指定字节数组中的 len字节写入此输出流。
abstract voidwrite​(int b)将指定的字节写入此输出流。

java.io.FileOutputStream

构造方法

构造器描述
FileOutputStream​(File file)创建文件输出流以写入由指定的 File对象表示的文件。
FileOutputStream​(File file, boolean append)创建文件输出流以写入由指定的 File对象表示的文件。
FileOutputStream​(String name)创建文件输出流以写入具有指定名称的文件。
FileOutputStream​(String name, boolean append)创建文件输出流以写入具有指定名称的文件。

方法摘要

变量和类型方法描述
voidclose()关闭此文件输出流并释放与此流关联的所有系统资源。
voidwrite​(byte[] b)将指定字节数组中的 b.length字节写入此文件输出流。
voidwrite​(byte[] b, int off, int len)将从偏移量 off开始的指定字节数组中的 len字节写入此文件输出流。
voidwrite​(int b)将指定的字节写入此文件输出流。

java.io.FileInputStream

构造方法

构造器描述
FileInputStream​(File file)通过打开与实际文件的连接来创建 FileInputStream ,该文件由文件系统中的 File对象 file命名。
FileInputStream​(String name)通过打开与实际文件的连接来创建 FileInputStream ,该文件由文件系统中的路径名 name命名。

方法摘要

变量和类型方法描述
voidclose()关闭此文件输入流并释放与该流关联的所有系统资源。
intread()从此输入流中读取一个字节的数据。
intread​(byte[] b)从此输入流 b.length最多 b.length字节的数据读 b.length字节数组。
intread​(byte[] b, int off, int len)从此输入流 len最多 len字节的数据读入一个字节数组。

字符输出

FileWriter
常用方法:

变量和类型方法描述
Writerappend​(char c)将指定的字符追加到此writer。
abstract voidclose()关闭流,先冲洗它。
abstract voidflush()刷新流。
voidwrite​(char[] cbuf)写一个字符数组。
abstract voidwrite​(char[] cbuf, int off, int len)写一个字符数组的一部分。
voidwrite​(int c)写一个字符。
voidwrite​(String str)写一个字符串。
voidwrite​(String str, int off, int len)写一个字符串的一部分。

字符读取

FileReader
常用方法

变量和类型方法描述
abstract voidclose()关闭流并释放与其关联的所有系统资源。
intread()读一个字符。
intread​(char[] cbuf)将字符读入数组。
abstract intread​(char[] cbuf, int off, int len)将字符读入数组的一部分。
intread​(CharBuffer target)尝试将字符读入指定的字符缓冲区。

字节转换(装饰)为字符流

使用了装饰者的设计模式
读取:
InputStreamReader
输出:
OutputStreamReader

propreties

.propreties文件与Propreties类
方法摘要

变量和类型方法描述
StringgetProperty​(String key)在此属性列表中搜索具有指定键的属性。
StringgetProperty​(String key, String defaultValue)在此属性列表中搜索具有指定键的属性。
voidlist​(PrintStream out)将此属性列表打印到指定的输出流。
voidlist​(PrintWriter out)将此属性列表打印到指定的输出流。
voidload​(InputStream inStream)从输入字节流中读取属性列表(键和元素对)。
voidload​(Reader reader)以简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。
voidstore​(OutputStream out, String comments)将此 Properties表中的此属性列表(键和元素对)以适合使用 load(InputStream)方法加载到 Properties表的格式写入输出流。
voidstore​(Writer writer, String comments)将此 Properties表中的此属性列表(键和元素对)以适合使用 load(Reader)方法的格式写入输出字符流。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值