java 的文件操作,相对来说是比较重要的,无论是编写CS还是BS程序,都避免不了要与文件打交道,例如读写配置文件等。虽然现在很多框架都直接帮你做好了这一步!

java.io.File 底层是调用与c语言接的接口,所以我们暂时不需要知道底层是怎么实现的,再说了,也看不见,最多就是看见一个接口而已。我们只需要知道java.io.File提供给我们对文件的一些操作就行了。

1.文件的创建

  :java的文件创建可以直接通过new一个对象来实现。

  

 File file = new File(String pathName)

 File file = new File(String parent, String child)

  主要的就是这两种创建文件方式,第一种pathName是一个抽象路径名。比如file = new File("E:/game/WM3.log"); 创建一个文件叫做E:/game/WM3.log

  第二种就是抽象路径名加上路径名

  文件操作的基本方法:

   boolean exists()  //文件是否已存在

   boolean createNewFile()  //当且仅当指定抽象路径名不存在时创建一个新的空文件

   boolean delete()  //删除指定抽象路径名的文件

   File getAbsoluteFile()  //返回抽象路径名抽象路径名形式

   String getAbsolutePath()  //返回抽象路径名的字符串形式

   String getName()  //返回抽象路径名表示的文件或路径

   long length()  //返回抽象路径名的文件长度

   String[] list()  //返回抽象路径名的文件或目录的字符串数组

   File[] listFiles()  //返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件

   File[] listFiles(FileFilter filter)  //返回Filter过滤的抽象路径名数组

   boolean mkdir()  //创建一个路径名为目录

   boolean mkdirs()  //创建多层的目录,包括不存在的目录的父目录

  这些方法都是相对常用的,其他还有一些特殊环境使用的方法,当有需要是可以查API

2.遍历抽象路径路径下的文件以及所有子目录

有两种方法实现,但是我只实现用递归的方法

  

 import java.io.File;
  import java.io.FileNotFoundException;
  import java.io.IOException;
  import java.io.RandomAccessFile;
  import java.util.ArrayList;
  import java.util.List;   /**
  * 主要复习文件创建以及文件价
  * @author heack
  *
  */
  public class DirAndFile {   File or;
  File[] files;   List<String> pathName = new ArrayList<String>();   // 用于遍历文件价
  public void iteratorPath(String dir) {
    or = new File(dir);
    files = or.listFiles();
    if (files != null) {
      for (File file : files) {
        if (file.isFile()) {
          pathName.add(file.getName());
        }else if (file.isDirectory()) {
          iteratorPath(file.getAbsolutePath());
        }
      }
    }
  }   public static void main(String[] args) {
    DirAndFile and = new DirAndFile();
    and.iteratorPath("E:/");
    for (String list : and.pathName) {
     System.out.println(list);
    }
  }
}

此随笔为以后复习使用,也供新入java的同志解惑

java File基本操作,以及递归遍历文件夹的更多相关文章

  1. Java File类应用:递归遍历文件夹和递归删除文件

    要求: 1)采用递归遍历文件夹下的所有文件,包括子文件夹下的文件 2)采用递归删除文件下的所有文件 注意: 以下递归删除文件的方法,只能删除文件,所有的文件夹都还会存在 若要删除正文文件夹,可以在递归 ...

  2. java中File类应用:遍历文件夹下所有文件

    练习: 要求指定文件夹下的所有文件,包括子文件夹下的文件 代码: package 遍历文件夹所有文件; import java.io.File; public class Test { public ...

  3. 使用java API进行zip递归压缩文件夹以及解压

    一.概述 在本篇文章中,给大家介绍一下如何将文件进行zip压缩以及如何对zip包解压.所有这些都是使用Java提供的核心库java.util.zip来实现的. 二.压缩文件 首先我们来学习一个简单的例 ...

  4. Java学习随笔3:遍历文件夹及文件的读取和写入

    import java.io.File; /** * 遍历文件夹 */ public class ScannerFile { public static void main(String[] args ...

  5. [C#]递归遍历文件夹

    /// <summary> /// 递归获取文件夹目录下文件 /// </summary> /// <param name="pathName"> ...

  6. linux文件夹操作及递归遍历文件夹

    文件夹相关函数介绍 //mkdir 函数创建文件夹 #include <sys/stat.h> #include <sys/types.h> int mkdir(const c ...

  7. TypeScript ES6-Promise 递归遍历文件夹中的文件

    貌似很多人都爱用这个作为写文章的初尝试,那来吧.遍历文件夹下的所有文件,如遍历文件夹下并操作HTML/CSS/JS/PNG/JPG步骤如下:1.传入一个路径,读取路径里面所有的文件:2.遍历读取的文件 ...

  8. Python【day 14-2】递归遍历文件夹

    #需求 遍历文件夹中所有的子文件夹及子文件--用递归实现 '''''' ''' 伪代码 1.遍历根目录--listdir for 得到第一级子文件夹(不包含子文件夹的子文件)和文件 2.判断是文件还是 ...

  9. Java使用线程池递归压缩文件夹下面的所有子文件

    本文将介绍Java中利用线程池递归的方式压缩文件夹下面的所有子文件,具体方法如下: Gzip单个文件压缩 对于单个文件使用GZip压缩. package date0805.demo1; import ...

随机推荐

  1. Linux 上通过rpm安装mysql

    安装mysql之前要remove掉系统自带的mysql: rpm -qa | grep "MySQL*"    和rpm -qa | grep mysql  要确保卸载干净 rpm ...

  2. 大话设计模式--组合模式 Composite -- C++实现实例

    1. 组合模式: 将对象组合成树形结构以表示"部分--整体"的层次结构,组合模式使用户对单个对象和组合对象的使用具有一致性. 需求中是体现部分与整体层次的结构时,希望用户可以忽略组 ...

  3. UOJ278 【UTR #2】题目排列顺序

    本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/转载请注明出处,侵权必究,保留最终解释权!   题目链接: http://uoj.ac/co ...

  4. phalcon:官方多模块支models层,mode数据库配置(二)

    phalcon:官方多模块支models层,mode数据库配置(二) 利用:\pahlcon\mvc\model\Manager::registerNamespaceAlias()方法获取多模块下的m ...

  5. C# Winform 基于Task的异步与延时执行

    一.Task的机制   Task位于命名空间System.Threading.Tasks中,是.NET 4.0加入的新模块,其实现机制大致类似于线程池ThreadPool,不过对于ThreadPool ...

  6. Git之Eclipse提交项目到Github并实现多人协作

    一.Eclipece提交项目到Github 见  eclipse提交项目到github 二.利用github组织实现多人协作 1.新建组织: New organization

  7. Java中数学计算的相关方法

    1:Math类 2.BigInteger类  3.BigDecimal类 BigInteger bi = new BigInteger("12433241123"); BigDec ...

  8. es6的foreach循环遍历

    forEach forEach是Array新方法中最基本的一个,就是遍历,循环.例如下面这个例子: 结果: 这段代码相当于: for (var k = 0, length = array.length ...

  9. python密钥登录主机

    #!/usr/bin/python # -*- coding:utf-8 -*- ################################### # # 检查主机的损坏磁盘 # ####### ...

  10. photonView 空指针异常

    1.OBJ上要有PhotonView 脚本 2.PhotonNetwork.Instantiate方法初始化出来OBJ OBJ 预制体要放在Resources文件夹下 PhotonNetwork.In ...