IO总结

    科技2022-09-07  118

    IO

    java.io.File文件过滤器FileFilter相对路径和绝对路径流概念概述IO流的分类java.io.OutputStream java.io.FileOutputStreamjava.io.FileInputStream字符输出字符读取字节转换(装饰)为字符流propreties

    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)方法的格式写入输出字符流。
    Processed: 0.013, SQL: 9