Java中File的实例详解

所属分类: 软件编程 / java 阅读数: 31
收藏 0 赞 0 分享

Java中File的实例详解

File

代表文件或者目录的类

构造函数

File(File parent,String child)---代表了指定父目录下的指定的子文件或者子目录

File(String pathname)---代表了指定路径对应的文件或者目录对象

重要方法

创建

createNewFile()---只能用来创建文件,并且一次只能创建一个文件,要求文件存储的目录必须真实存在

mkdir()---只能用来创建目录,不能用来创建多层目录

mkdirs()---创建多层目录

删除

delete()---用来删除文件或者目录。如果目录下有子文件或者子目录,则删除失败--直接从计算机中移除,不能撤销删除

设置

renameTo(File dest)---重命名指定的文件

setLastModified(long time)---设置文件的最后一次修改时间

setReadable(boolean b)---设置文件是否可读

setReadOnly()---设置文件为只读

获取

listFiles()---获取指定目录下的子目录和子文件对象组成的数组

getName()---获取文件的名字

getParent()---获取父目录的路径字符串

lastModified()---获取最后一次修改时间

判断

canRead()---判断文件是否可读

canWrite()---判断文件是否可写

isHidden()---判断file是否是一个隐藏文件

isAbsolute()---判断是否是一个绝对路径

isDirectory()---判断这个file对象是否是一个目录

isFile()---判断这个file对象是否是一个文件

exists()---判断file在计算机上是否真实存在

路径

绝对路径:以/或者盘符开头的路径---直接跳转到指定的路径

相对路径:不以/或者盘符开头的路径---相对路径以当前路径作为基准进行计算

读取文件夹下的文件并输出

public static void main(String[] args) throws IOException {
    // TODO Auto-generated method stub
    String dirname="/tmp";//文件路径
    File f1=new File(dirname); //创建一个文件对象,指定文件路径
    if (f1.isDirectory()) { //判断此文件是否为文件夹
      System.out.println("目录/"+dirname); 
      String s[]=f1.list(); //将f1下的文件放入数组中
      for (int i = 0; i < s.length; i++) {//遍历这个数组,每个文件判断一次
        File file=new File(dirname+"/"+s[i]); //创建文件对象
        if (file.isDirectory()) { //判断是否为文件夹
          System.out.println(s[i]+"是一个目录");
        }else {
          System.out.println(s[i]+"是一个文件");
          try {
            //已经判断是文件,就可以用流来打开这个文件输出
            FileInputStream fil=new FileInputStream(dirname+"/"+s[i]+"");//创建文件输入流对象,并指定文件的路径
            InputStreamReader iStreamReader=new InputStreamReader(fil); //创建字符输入流,将文件内容传入
            StringBuffer sBuffer=new StringBuffer();//创建字符接收
            while (iStreamReader.ready()) {//。。循环读取
              sBuffer.append((char)iStreamReader.read());//将内容添加到字符串变量中
            }
            System.out.println(sBuffer.toString());//输出
          } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
          }  
        }
      }
    }else {
      System.out.println(dirname+"不是一个目录");
    }
  }

以上就是java中File的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站 的支持!

更多精彩内容其他人还在看

Java concurrency之锁_动力节点Java学院整理

这篇文章主要为大家详细介绍了Java concurrency之锁的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java8新特性之StampedLock_动力节点Java学院整理

本文从synchronized、Lock到Java8新增的StampedLock进行对比分析,对Java8新特性之StampedLock相关知识感兴趣的朋友一起看看吧
收藏 0 赞 0 分享

Java8新特性之lambda的作用_动力节点Java学院整理

我们期待了很久lambda为java带来闭包的概念,但是如果我们不在集合中使用它的话,就损失了很大价值。现有接口迁移成为lambda风格的问题已经通过default methods解决了,在这篇文章将深入解析Java集合里面的批量数据操作解开lambda最强作用的神秘面纱。
收藏 0 赞 0 分享

Java8新特性之Base64详解_动力节点Java学院整理

这篇文章主要为大家详细介绍了Java8新特性之Base64的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java8新特性之JavaFX 8_动力节点Java学院整理

这篇文章主要介绍了Java8新特性之JavaFX 8的相关知识,非常不错,具有参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

将本地jar包安装进入maven仓库(实现方法)

下面小编就为大家带来一篇将本地jar包安装进入maven仓库(实现方法)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅谈Java finally语句到底是在return之前还是之后执行(必看篇)

下面小编就为大家带来一篇浅谈Java finally语句到底是在return之前还是之后执行(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

基于Java并发容器ConcurrentHashMap#put方法解析

下面小编就为大家带来一篇基于Java并发容器ConcurrentHashMap#put方法解析。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解Spring Boot Profiles 配置和使用

本篇文章主要介绍了详解Spring Boot Profiles 配置和使用,具有一定的参考价值,有兴趣的可以了解一下
收藏 0 赞 0 分享

详解Spring Boot 属性配置和使用

本篇文章主要介绍了详解Spring Boot 属性配置和使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多