java学习笔记——IO部分(遍历文件夹)
用File类写的一个简单的工具,遍历文件夹,获取该文件夹下的所以文件(含子目录下的文件)和文件大小:
/**
* 列出指定目录下(包含其子目录)的所有文件
* @author syskey
*
*/
import java.io.File;
import java.text.DecimalFormat; public class FileList { public static void listDirectory(File dir){
if(!dir.exists()){
throw new IllegalArgumentException("目录"+dir+"不存在!");
}
if(!dir.isDirectory()){
throw new IllegalArgumentException(dir+"不是一个目录!");
}
/**
* 采用了递归的方法,遍历了所有目录
*/
File files[] =dir.listFiles();
if(files!=null&&files.length>0){
for (File file : files) {
if(file.isDirectory()){
listDirectory(file);
}else{
String filesize;
DecimalFormat df = new DecimalFormat("0.00");
if(file.length()<1024){
filesize = df.format((double) file.length())+"B";
}else if(file.length()<1024*1024){
filesize = df.format((double) file.length()/1024)+"KB";
}else if(file.length()<1024*1024*1024){
filesize = df.format((double) file.length()/(1024*1024))+"MB";
}else {
filesize = df.format((double) file.length()/(1024*1024*1024))+"GB";
}
System.out.println(file+" "+filesize);
}
}
} } }
java学习笔记——IO部分(遍历文件夹)的更多相关文章
- Java学习随笔3:遍历文件夹及文件的读取和写入
import java.io.File; /** * 遍历文件夹 */ public class ScannerFile { public static void main(String[] args ...
- python学习笔记(六)文件夹遍历,异常处理
python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...
- java 学习笔记之 流、文件的操作
ava 学习笔记之 流.文件的操作 对于一些基础的知识,这里不再过多的解释, 简单的文件查询过滤操作 package com.wfu.ch08; import java.io.File; import ...
- VBA学习笔记(4)--文件夹和文件遍历一层
说明(2017.3.22): 1. '遍历指定文件夹里的文件 '遍历指定文件夹,返回第一层文件(不含文件夹) Public Sub test1() Dim k% Dim filename$ Dim p ...
- java学习笔记IO之File类
File类总结 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Times } p.p2 { margin: 0.0px 0.0px 0.0p ...
- java学习笔记 --- IO(1)
1.File类:文件和目录(文件夹)路径名的抽象表示形式,把文件或者目录(文件夹)都封装成File对象 1.构造方法 File(String pathname):根据一个路径得到File对象 File ...
- java学习笔记--IO流
第十二章大纲: I/O input/output 输入/输出 一.创建文件,借助File类来实现 file.createNewFile() : 创建文件 file.exists() : 判断文件是否存 ...
- Java 学习笔记 IO流与File操作
可能你只想简单的使用,暂时不想了解太多的知识,那么请看这里,了解一下如何读文件,写文件 读文件示例代码 File file = new File("D:\\test\\t.txt" ...
- Java学习笔记-IO
IO(Input Output)流,用来处理设备之间的数据传输 IO IO概述 Java对数据的操作是通过流的方式 Java用于操作流的对象都在IO包中 流按操作数据分为两种:字节流与字符流 流按流向 ...
随机推荐
- 多线程的并发问题,lock用法
开启多个线程,每个线程中多次操作公共变量 using System; using System.Collections.Generic; using System.Linq; using System ...
- 使用PHP开发一个简单的后台接口(响应移动端的get请求和post请求)
写一个简单的后台,在接到app请求数据的时候,返回对应的内容: index.php文件如下: <?php $id = $_POST['id']; if($id==001){ echo json_ ...
- UVa 10176 - Ocean Deep ! - Make it shallow !!
题目大意:判断一个很大的二进制能否被131071整除.在二进制转十进制的过程中不断取模,最后判断结果是否是0就可以了. #include <cstdio> #include <cst ...
- 1)Javascript设计模式:Module模式
最简单的创建对象方法 function User(name) { this.name = name || '' } User.prototype.say = function() { console. ...
- backup-mysql.sh
#!/bin/bash#auto backup mariadb#xuegod 2015-12-30#Define PATH 定义变量date=`date +%Y-%m-%d`BAKDIR=" ...
- Oracle的一些命令
sqlldr: 一般用于导入以任何后缀结束的文件,我这次就是因为要导入一张以.20160101为后缀的文件,当初简直束手无策 结合input.ctl使用,可以在DOS下使用,可以对一张表导入数十万,百 ...
- Nodejs之目录介绍及app.js说明
nodejs目录说明,app.js简单介绍及如何设置app.js启动项目. 新建的项目结构应该是这样 bin:项目的启动文件,也可以放其他脚本. node_modules:用来存放项目的依赖库. pu ...
- PHP批量上传一次点击选中多个
首先前端部分需要设置好控件,这里使用HTML5 中 input 的新增属性 multiple 可以很好的解决了以往上传多个需要点击多次"上传按钮"的麻烦: <form act ...
- Selenium2(java)页面对象模型(Page Object) 八
在开发一个 Selenium WebDriver 测试,我们可以使用页面对象模型.这个模型可以使测 试脚本有更高的可维护性,减少了重复的代码,把页面抽象出来.对象模型也提供了一个注释,帮助缓存远程,避 ...
- Selenium2(java)selenium常用API 五
上传文件 元素标签是input时上传方式 上传是一个input,对于这种元素是input 的标签可以采用元素的sendKeys()方法来直接赋值,upload.html代码: <html&g ...