IO流1

3 篇文章 0 订阅
  1. File类介绍和路径分隔符:
    File类是IO包中唯一表示磁盘文件和磁盘目录的路径的对象.
    只能设置和获取文件本身的信息,不能设置和获取文件的内容.
    Unix:   严格区分大小写.
    WIndows: 默认情况下是不区分大小写的.

    路径分隔符,属性分隔符:
    Unix:          使用”/”,来分割目录路径.               使用: 来分割属性.
    Windows:  使用”\”,来分割目录路径.但是在Java中一个”\”表示转义,在Windows平台的Java代码中表示一个路径,就得使用两个\\. 但是Windows支持/.                 使用;来分割属性.
    File类中提供了两类常量,分别来表示路径分隔符和属性分隔符.

  2. 操作File路径和名称:
    File getAbsoluteFile() :返回此抽象路径名的绝对路径名(对象)。 等同new File(this.getAbsolutePath())。
    String getAbsolutePath():返回此抽象路径名的绝对路径名字符串。
    String getPath() :将此抽象路径名转换为一个路径名字符串。
    String getName() :返回由此抽象路径名表示的文件或目录的名称。
    File getParentFile():返回此抽象路径名父目录的抽象路径名
    String getParent() :返回此抽象路径名父目录的路径名字符串

    检测File状态的方法:
    boolean canExecute() :测试应用程序是否可以执行此抽象路径名表示的文件
    boolean canRead() :测试该文件是否可读
    boolean canWrite():测试该文件是否可写
    boolean isHidden(): 测试此抽象路径名指定的文件是否是一个隐藏文件。
    long lastModified():返回此抽象路径名表示的文件最后一次被修改的时间。
    long length():返回由此抽象路径名表示的文件的长度。(单位字节)

  3. File类中方法-文件操作:
    boolean isFile()如果该文件不是一个目录,并且满足其他与系统有关的标准,那么该文件是标准 文件。由 Java 应用程序创建的所有非目录文件一定是标准文件。
    boolean createNewFile() :抽象路径名指定名称的文件不存在,并成功地创建,则返回 true;
    static File createTempFile(String prefix, String suffix) :在指定(默认临时文件)目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。
    boolean delete() :删除此抽象路径名表示的文件或目录。如果此路径名表示一个目录,则该目录必须为空才能删除。
     void deleteOnExit() :在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。
    boolean exists():测试此抽象路径名表示的文件或目录是否存在。
    boolean renameTo(File dest) :重命名新抽象路径名,该操作不是不可分的,如果已经存在具有目标抽象路径名的文件,那么该操作可能无法获得成功---------------------------------------------------------------------
    File类中方法-目录操作
    boolean isDirectory() :测试此抽象路径名表示的文件是否是一个目录
    boolean mkdir()  :创建当前目录
    boolean mkdirs() :创建此抽象路径名指定的目录,包括所有必需但不存在的父目录
    String[] list() :列出当前文件夹所有的文件名文件夹名.返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
    File[] File   listFiles() :列出所有文件对象路径,//返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。如果此抽象路径名不表示一个目录,那么此方法将返回 null。否则返回一个 File 对象数组,每个数组元素对应目录中的每个文件或目录。表示目录本身及其父目录的名称不包括在结果中。
    static File[] listRoots() :列出系统盘符,列出可用的文件系统根。

  4. 文件过滤器(FilenameFilter):

  5. IO流的分类,站在不同的角度
    1):根据流向划分: 输入流和输出流.
    2):根据数据的单位划分: 字节流和字符流.
    3):根据功能的划分:节点流和包装流.
    四大基流:(字节输出流,字节输入流,字符输出流,字符输入流)
    四大基流都是抽象类: 其他流都是继承于这四大基流的.
     无论是什么流,都有close方法,用来关闭资源.

  6. 操作IO流的模板:
    1):创建源或者目标对象
         输入操作:    把文件中的数据流向到程序中,此时文件是源,程序是目标.
         输出操作:    把程序中的数据流向到文件中,此时文件是目标,程序是源.
    2):创建IO流对象
         输入操作:     创建输入流对象.
         输出操作:     创建输出流对象.
    3):具体的IO操作.
         输入操作:    输入流对象的read方法.
         输出操作:    输出流对象的write方法.
    4):关闭资源一旦资源关闭之后,就不能使用流对象了,否则报错.
         操作:    流对象.close();

  7. 文件流:
    FileInputStream:     文件的字节输入流
    FileOutputStream:  文件的字节输出流
    FileReader:文件的字符输入流
    FileWriter:文件的字符输出流

    File file = new File("F:/test.txt");
    //输入流
    FileInputStream in = new FileInputStream(file);
    byte[] buffer=new byte[5];
    int len=-1;
    while ((len=in.read(buffer))!=-1) {//返回读取了几个字节,返回-1表示读到末尾了
    	String str = new String(buffer,0,len);
    	System.out.println(str);
    }
    in.close();
    //输出流
    FileOutputStream out = new FileOutputStream(file,true);true代表追加内容
    out.write("today is good".getBytes());
    out.close();

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值