0
点赞
收藏
分享

微信扫一扫

流的知识概述

哈哈我是你爹呀 2022-02-24 阅读 34
java

        之前写了一些有关Java知识点的基础知识,这一次开始总结一些新的知识点,有关Java中的流知识点。虽然学习很累,但是让人心里踏实。我始终坚信只有学习脚踏实地、才能够走的远!不积小流无以致千里,不积跬步无以至千里!

流的定义

        在Java程序中,对于数据的输入输出操作以流Stream方式进行,JavaSE提供各种各样的类用于使用相同的方法获取不同类型的数据,程序中通过标准的方法输入或者输出数据。

流的分类

        从Java不同版本上来说,流可以分为BIO、NIO和AIO三大类。Java 中的BIO、NIO和AIO理解为是Java语言对操作系统的各种I0模型的封装。

字符流就是字节流读取文字字节数据后,不直接操作而是先查指定的编码表以获取对应的文字。简单的说:字符流=字节流+编码表

        1.字符流的两个顶层父类: Reader和Writer

        2.字节流的两个顶层父类:InputStream和OutputStream

        3.输入输出靠reader和writer, inputstream和outputstream四个类和子类支持

        4.读入的内容有对象,字符,图像和声音等

注意:VO流是一类很宝贵的资源,使用完后必须调用close()方法关闭流并释放资源。在关闭流时只用关闭最外层的流。


File类

java.io.File用于封装和平台无关的文件夹和文件对象。

//获取一个文件夹的字节数(针对windows平台)
File ff=new File("file.txt");
//length():long 用于获取文件的字节数,若果不存在返回0
//一个汉字=2B
System.out.println(file.length()+"B");

常见的构造方法

1.File(String pathName)以path为路径创建File对象,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储

File ff=new File("dd.txt");//使用的是相对路径,这个路径将从项目的根目录开始算起

File ff=new File("d:/data/dd.txt");//使用的是绝对路径,从d:开始(windows系统)

string ss=system.getProperties().getProperty("user.dir");
system.out.print1n(ss); //D: \workspace\ecipse-2020\2022-01-04

2.File(String parent,String child)这里文件对象的路径为相对于parent路径的child路径,相当于parent+"/""+child

访问文件名的方法

getName():String 获取文件名称

getPath():String  获取路径,如果构建File时使用的是相对路径,则这里返回的就是相对路径;如果创建时参数为绝对路径,返回绝对路径。

getAbsolutePath():String 获取绝对路径

getParent():String 获取当前文件对象的上级File对象,如果构建文件对象时使用的是相对路径,则这里返回为null。

文件检测相关方法

canWrite():boolean 是否可写

canRead():boolean 是否可读

isFile():boolean 是否是文件,因为File对象可以封装文件和文件夹

isDirectory():boolean 是否为文件夹

isAbsolute():boolean 是否为绝对路径

isModified():long 文件的最后修改时间

常见操作

1.createNewFile():boolean 创建一个新文件【如果文件不存在则返回true,表示创建成功;如果文件已经存在则返回false,表示创建失败】

2.exists():boolean文件或者文件夹是否存在

3.length():long 获取文件大小,单位是字节,如果是文件夹则返回值没有指定

4.renameTo(File):boolean 修改文件或文件夹名称

5.delete():boolean 删除文件,也可以删除文件夹,要求文件夹为空,不能有文件和子文件夹

        deleteOnExit():void退出系统时自动删除

6.目录操作

        mkdir():boolean只能创建一层文件夹,如果创建d:/a1/a2/a3时,当父文件夹d:/a1/a2不存在时则创建失败
        mkdirs():boolean自动创建多级文件夹

7.list():String[]获取当前文件夹所有的子文件信息

        listFiles():File[]获取当前文件夹所有子文件信息,子文件为File对象

8.static listRoots():File[]列出系统所有的根路径

文件过滤器FilenameFilter

带参数的listFiles方法支持对于子文件进行过滤,只获取需要满足条件的文件对象。

        FilenameFilter接口中包含一个accept(File dir,String name)方法,该方法用于对指定File的所有子目录或者文件进行迭代,如果方法返回true则list方法会获取该目录或者文件。

举报

相关推荐

0 条评论