java File基本操作,以及递归遍历文件夹
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基本操作,以及递归遍历文件夹的更多相关文章
- Java File类应用:递归遍历文件夹和递归删除文件
要求: 1)采用递归遍历文件夹下的所有文件,包括子文件夹下的文件 2)采用递归删除文件下的所有文件 注意: 以下递归删除文件的方法,只能删除文件,所有的文件夹都还会存在 若要删除正文文件夹,可以在递归 ...
- java中File类应用:遍历文件夹下所有文件
练习: 要求指定文件夹下的所有文件,包括子文件夹下的文件 代码: package 遍历文件夹所有文件; import java.io.File; public class Test { public ...
- 使用java API进行zip递归压缩文件夹以及解压
一.概述 在本篇文章中,给大家介绍一下如何将文件进行zip压缩以及如何对zip包解压.所有这些都是使用Java提供的核心库java.util.zip来实现的. 二.压缩文件 首先我们来学习一个简单的例 ...
- Java学习随笔3:遍历文件夹及文件的读取和写入
import java.io.File; /** * 遍历文件夹 */ public class ScannerFile { public static void main(String[] args ...
- [C#]递归遍历文件夹
/// <summary> /// 递归获取文件夹目录下文件 /// </summary> /// <param name="pathName"> ...
- linux文件夹操作及递归遍历文件夹
文件夹相关函数介绍 //mkdir 函数创建文件夹 #include <sys/stat.h> #include <sys/types.h> int mkdir(const c ...
- TypeScript ES6-Promise 递归遍历文件夹中的文件
貌似很多人都爱用这个作为写文章的初尝试,那来吧.遍历文件夹下的所有文件,如遍历文件夹下并操作HTML/CSS/JS/PNG/JPG步骤如下:1.传入一个路径,读取路径里面所有的文件:2.遍历读取的文件 ...
- Python【day 14-2】递归遍历文件夹
#需求 遍历文件夹中所有的子文件夹及子文件--用递归实现 '''''' ''' 伪代码 1.遍历根目录--listdir for 得到第一级子文件夹(不包含子文件夹的子文件)和文件 2.判断是文件还是 ...
- Java使用线程池递归压缩文件夹下面的所有子文件
本文将介绍Java中利用线程池递归的方式压缩文件夹下面的所有子文件,具体方法如下: Gzip单个文件压缩 对于单个文件使用GZip压缩. package date0805.demo1; import ...
随机推荐
- Linux 上通过rpm安装mysql
安装mysql之前要remove掉系统自带的mysql: rpm -qa | grep "MySQL*" 和rpm -qa | grep mysql 要确保卸载干净 rpm ...
- 大话设计模式--组合模式 Composite -- C++实现实例
1. 组合模式: 将对象组合成树形结构以表示"部分--整体"的层次结构,组合模式使用户对单个对象和组合对象的使用具有一致性. 需求中是体现部分与整体层次的结构时,希望用户可以忽略组 ...
- UOJ278 【UTR #2】题目排列顺序
本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/转载请注明出处,侵权必究,保留最终解释权! 题目链接: http://uoj.ac/co ...
- phalcon:官方多模块支models层,mode数据库配置(二)
phalcon:官方多模块支models层,mode数据库配置(二) 利用:\pahlcon\mvc\model\Manager::registerNamespaceAlias()方法获取多模块下的m ...
- C# Winform 基于Task的异步与延时执行
一.Task的机制 Task位于命名空间System.Threading.Tasks中,是.NET 4.0加入的新模块,其实现机制大致类似于线程池ThreadPool,不过对于ThreadPool ...
- Git之Eclipse提交项目到Github并实现多人协作
一.Eclipece提交项目到Github 见 eclipse提交项目到github 二.利用github组织实现多人协作 1.新建组织: New organization
- Java中数学计算的相关方法
1:Math类 2.BigInteger类 3.BigDecimal类 BigInteger bi = new BigInteger("12433241123"); BigDec ...
- es6的foreach循环遍历
forEach forEach是Array新方法中最基本的一个,就是遍历,循环.例如下面这个例子: 结果: 这段代码相当于: for (var k = 0, length = array.length ...
- python密钥登录主机
#!/usr/bin/python # -*- coding:utf-8 -*- ################################### # # 检查主机的损坏磁盘 # ####### ...
- photonView 空指针异常
1.OBJ上要有PhotonView 脚本 2.PhotonNetwork.Instantiate方法初始化出来OBJ OBJ 预制体要放在Resources文件夹下 PhotonNetwork.In ...