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 ...
 
随机推荐
- vRA  Customizing error
			
toolsDeployPkg.log An error occurred while customizing VM vwbjvuqtest0751. For details reference the ...
 - MySQL存储过程入门教程
			
存储过程介绍 存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中.用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.存储过程可由应用程序通过一个调用来执行,而且 ...
 - maven 相关插件
			
maven打包配置,到底要打包哪些文件,如何配置??使用如下插件: <build> <finalName>weatherAdminSys</finalName> & ...
 - Hadoop 2.x简介
			
Hadoop 2.0产生背景 Hadoop1.0中HDFS和MapReduce在高可用.扩展性等方面存在问题 HDFS存在的问题 NameNode单点故障,难以应用于在线场景 NameNode压力过大 ...
 - [转]Tomcat启动分析
			
[转]Tomcat启动分析 原帖 http://docs.huihoo.com/apache/tomcat/heavyz/01-startup.html 以下摘录了部分 --------------- ...
 - CentOS下查看文件和文件夹大小
			
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择. df可以查看一级文件夹大小.使用比例.档案系统及其挂入点,但对文件却无能为力. 当磁盘大小超过标准时会有报警提示,这时如 ...
 - Http请求和响应
			
Http请求和响应 Http协议对浏览器发出的Request格式以及对Web服务器发出的Response格式有具体的规定. 请求部分由三部分组成: Requset line:请求行,位于第一行 Req ...
 - Centos7搭建Mysql-5.6.38,及主从复制。
			
Server1:192.168.1.189 (主) Server2:192.168.1.190 (从) 1.关闭默认的firewalld防火墙,安装iptables. systemctl disa ...
 - codeforces 776C Molly's Chemicals(连续子序列和为k的次方的个数)
			
题目链接 题意:给出一个有n个数的序列,还有一个k,问在这个序列中有多少个子序列使得sum[l, r] = k^0,1,2,3…… 思路:sum[l, r] = k ^ t, 前缀和sum[r] = ...
 - BEC listen and translation exercise 41
			
Its advantages are that it can be used for outside activities So my recommendation I'm afraid would ...