Java中IO流,输入输出流概述与总结
副标题[/!--empirenews.page--]
总结的很粗糙,以后时间富裕了好好修改一下。 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中。其中, 所有输入流类都是抽象类InputStream(字节输入流),或者抽象类Reader(字符输入流)的子类; 而所有输出流都是抽象类OutputStream(字节输出流)或者Writer(字符输出流)的子类。 【首先需要明白的是:流是干什么的???(为了永久性的保存数据) ? 根据数据流向的不同分为输入流和输出流; ? 根据处理数据类型的不同分为字符流和字节流; 】 【然后需要明白的是输入模式和输出模式是谁流向谁: InputStream(字节输入流)和Reader(字符输入流)通俗的理解都是读(read)的。 OutputStream(字节输出流)和Writer(字符输出流)通俗的理解都是写(writer)的。 】 最后下面搞清楚各种流的类型的该怎么用,谁包含谁,理清思路。 2:InputStream类是字节输入流的抽象类,是所有字节输入流的父类,InputStream类具有层次结构如下图所示; 3:java中的字符是Unicode编码的,是双字节的。InputStream是用来处理字节的,在处理字符文本时很不方便。Java为字符文本的输入提供了专门的一套类Reader。Reader类是字符输入流的抽象类,所有字符输入流的实现都是它的子类。 4:输出流OutputStream类是字节输入流的抽象类,此抽象类表示输出字节流的所有类的超类。 5:Writer类是字符输出流的抽象类,所有字符输出类的实现都是它的子类。 6:File类是IO包中唯一代表磁盘文件本身的对象。通过File来创建,删除,重命名文件。File类对象的主要作用就是用来获取文本本身的一些信息。如文本的所在的目录,文件的长度,读写权限等等。(有的需要记忆,比如isFile(),isDirectory(),exits();有的了解即可。使用的时候查看API) 详细如下: File类(File类的概述和构造方法) A:File类的概述 File更应该叫做一个路径 文件路径或者文件夹路径 路径分为绝对路径和相对路径 绝对路径是一个固定的路径,从盘符开始 相对路径相对于某个位置,在eclipse下是指当前项目下,在dos下 查看API指的是当前路径 文件和目录路径名的抽象表示形式 B:构造方法 File(String pathname):根据一个路径得到File对象 File(String parent,String child):根据一个目录和一个子文件/目录得到File对象 File(File parent,String child):根据一个父File对象和一个子文件/目录得到File对象 ? File类(File类的创建功能) A:创建功能 public boolean createNewFile():创建文件 如果存在这样的文件,就不创建了 public boolean mkdir():创建文件夹 如果存在这样的文件夹,就不创建了 public boolean mkdirs():创建文件夹,如果父文件夹不存在,会帮你创建出来 (使用createNewFile()文件创建的时候不加.txt或者其他后缀也是文件,不是文件夹;使用mkdir()创建文件夹的时候,如果起的名字是比如aaa.txt也是文件夹不是文件;) 注意事项: 如果你创建文件或者文件夹忘了写盘符路径,那么,默认在项目路径下。 ? File类(File类的重命名和删除功能) A:重命名和删除功能 public boolean renameTo(File dest):把文件重命名为指定的文件路径 public boolean delete():删除文件或者文件夹 B:重命名注意事项 如果路径名相同,就是改名。 如果路径名不同,就是改名并剪切。 C:删除注意事项: Java中的删除不走回收站。 要删除一个文件夹,请注意该文件夹内不能包含文件或者文件夹 ? File类(File类的判断功能) A:判断功能 public boolean isDirectory():判断是否是目录 public boolean isFile():判断是否是文件 public boolean exists():判断是否存在 public boolean canRead():判断是否可读 public boolean canWrite():判断是否可写 public boolean isHidden():判断是否隐藏 File类(File类的获取功能) A:获取功能 public String getAbsolutePath():获取绝对路径 public String getPath():获取路径 public String getName():获取名称 public long length():获取长度。字节数 public long lastModified():获取最后一次的修改时间,毫秒值 public String[] list():获取指定目录下的所有文件或者文件夹的名称数组 public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组 ? File类(文件名称过滤器的概述及使用) A:文件名称过滤器的概述 public String[] list(FilenameFilter filter) public File[] listFiles(FileFilter filter)<div class="cnblogs_code"> 1 package com.ningmeng; 2 3 import java.io.File; 4 5 public class Test { 6 7 public static void main(String[] args) throws Exception{ 8 // TODO Auto-generated method stub 9 File file=new File("aa.txt");//文件默认就创建在你创建的项目下面,刷新即可看到 10 System.out.println(file.exists());//判断文件是否存在 11 file.createNewFile();//创建文件,不是文件夹 12 System.out.println(file.exists());//再次判断是否存在 13 System.out.println(file.getName());//获取文件的名字 14 System.out.println(file.getAbsolutePath());//获取文件的绝对路径 15 System.out.println(file.getPath());//获取文件的相对路径 16 System.out.println(file.getParent());//获取文件的父路径 17 System.out.println(file.canRead());//文件是否可读 18 System.out.println(file.canWrite());//文件是否可写 19 System.out.println(file.length());//文件的长度 20 System.out.println(file.lastModified());//文件最后一次修改的时间 21 System.out.println(file.isDirectory());//判断文件是否是一个目录 22 System.out.println(file.isHidden());//文件是否隐藏 23 System.out.println(file.isFile());//判断文件是否存在 24 } 25 26 } public String[] list():获取指定目录下的所有文件或者文件夹的名称数组 public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组(编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |