1.读取文件夹中的文件

/**
* 读取图片文件
* @param imgPath 文件所在的文件夹绝对路径
* @return
* @throws FileNotFoundException
*/
public static List<String> readImg(String imgPath)throws FileNotFoundException{
System.out.println("----------------------------读取start--------------------------");
List<String> abPathList = new ArrayList<String>();//建立绝对路径集合
List<String> nameList = new ArrayList<String>();//建立相对路径集合
try {
File file = new File(imgPath);
//判断不是目录
if (!file.isDirectory()) {
System.out.println("文件");
System.out.println("path=" + file.getPath());
System.out.println("absolutepath=" + file.getAbsolutePath());
System.out.println("name=" + file.getName());
}
//判断是目录
else if (file.isDirectory()) {
System.out.println("文件夹");
String[] filelist = file.list();
for (int i = 0; i < filelist.length; i++) {
File readfile = new File(imgPath + "\\" + filelist[i]);
if (!readfile.isDirectory()) {
System.out.println("path=" + readfile.getPath());
System.out.println("parent=" + readfile.getParent());
System.out.println("绝对路径=" + readfile.getAbsolutePath());
System.out.println("名称List:"+ readfile.getName());
                     abPathList.add(readfile.getAbsolutePath());//存储绝对路径
nameList.add(readfile.getName());//存储名称
} else if (readfile.isDirectory()) {
readImg(imgPath + "\\" + filelist[i]);
}
}
}
} catch (FileNotFoundException e) {
System.out.println("readfile() Exception:" + e.getMessage());
}
System.out.println("----------------------------读取end--------------------------");
return nameList;
}

2.复制文件夹及内容到另一个文件夹

/**
* 复制整个文件夹内容
* @param oldPath String 原文件路径 如:F:/taobaoCsv/all
* @param newPath String 复制后路径 如: F:/taobaoCsv/allnew
* @return boolean
*/
public static void copyFolder(String oldPath, String newPath) {
System.out.println("----------------------------复制start--------------------------");
System.out.println("正在复制...");
try {
(new File(newPath)).mkdirs(); //如果文件夹不存在 则建立新文件夹
File a=new File(oldPath);
String[] file=a.list();
File temp=null;
for (int i = 0; i < file.length; i++) {
if(oldPath.endsWith(File.separator)){
temp=new File(oldPath+file[i]);
}
else{
temp=new File(oldPath+File.separator+file[i]);
}
if(temp.isFile()){
FileInputStream input = new FileInputStream(temp);
FileOutputStream output = new FileOutputStream(newPath + "/" +
(temp.getName()).toString());
byte[] b = new byte[1024 * 5];
int len;
while ( (len = input.read(b)) != -1) {
output.write(b, 0, len);
}
output.flush();
output.close();
input.close();
}
if(temp.isDirectory()){//如果是子文件夹
copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]);
System.out.println("子文件夹...");
}
}
System.out.println("复制成功。");
System.out.println("----------------------------复制end--------------------------");
}
catch (Exception e) {
System.out.println("复制整个文件夹内容操作出错");
e.printStackTrace();
}
}

3.批量修改文件名

/**
* //批量修改文件名(文件名后面+‘ .jpg’)
* @param folderPath 文件夹路径
*/
public static void editName(String folderPath){
//判断不是文件夹...提示错误
System.out.println("----------------------------修改start--------------------------");
//获取文件夹中的所有文件
File folder = new File(folderPath);
File[] fileList = folder.listFiles();
//批量修改
for (int i = 0; i < fileList.length; i++) {
File oldFile = fileList[i];
System.out.println("修改前文件名称是:"+oldFile.getName()); //修改文件名称:rootPath/filename .jpg
File newFile = new File(oldFile.getParent()+File.separator+oldFile.getName()+" .jpg"); System.out.println("修改后文件名称是:"+newFile.getName()); if (oldFile.renameTo(newFile)){
System.out.println("修改成功!");
}else{
System.out.println("修改失败");
}
}
System.out.println("----------------------------修改end--------------------------");
}

4.删除

  1).删除文件夹

  2).删除文件夹的内容,但不删除文件夹

/**
* 删除文件夹
* @param folderPath 文件夹完整绝对路径
*/
public static void delFolder(String folderPath) {
try {
delAllFile(folderPath); // 删除完里面所有内容
String filePath = folderPath;
filePath = filePath.toString();
java.io.File myFilePath = new java.io.File(filePath);
myFilePath.delete(); // 删除空文件夹
} catch (Exception e) {
e.printStackTrace();
}
} /**
* 删除指定文件夹下所有文件
* @param path 文件夹完整绝对路径
* @return
*/
public static boolean delAllFile(String path) {
boolean flag = false;
File file = new File(path);
if (!file.exists()) {
return flag;
}
if (!file.isDirectory()) {
return flag;
}
String[] tempList = file.list();
File temp = null;
for (int i = 0; i < tempList.length; i++) {
if (path.endsWith(File.separator)) {
temp = new File(path + tempList[i]);
} else {
temp = new File(path + File.separator + tempList[i]);
}
if (temp.isFile()) {
temp.delete();
}
if (temp.isDirectory()) {
delAllFile(path + "/" + tempList[i]);// 先删除文件夹里面的文件
delFolder(path + "/" + tempList[i]);// 再删除空文件夹
flag = true;
}
}
return flag;
}

Java——FIle:的更多相关文章

  1. 【转】JAVA错误:The public type *** must be defined in its own file***

    出现The public type xxx must be defined in its own file这个问题,是由于定义的JAVA类同文件名不一致.public类必须定义在它自己的文件中. 解决 ...

  2. 报错:An error occurred at line: 22 in the generated java file The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory

    org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 22 in ...

  3. Java学习:File类

    Java学习:File类 File类的概述 重点:记住这三个单词 绝对路径和相对路径 File类的构造方法 File类判断功能的方法 File类创建删除功能的方法 File类获取(文件夹)目录和文件夹 ...

  4. Java NIO:NIO概述

    Java NIO:NIO概述 在上一篇博文中讲述了几种IO模型,现在我们开始进入Java NIO编程主题.NIO是Java 4里面提供的新的API,目的是用来解决传统IO的问题.本文下面分别从Java ...

  5. Java File类总结和FileUtils类

    Java File类总结和FileUtils类 文件存在和类型判断 创建出File类的对象并不代表该路径下有此文件或目录. 用public boolean exists()可以判断文件是否存在. Fi ...

  6. (转载)Java NIO:NIO概述(一)

    Java NIO:NIO概述 在上一篇博文中讲述了几种IO模型,现在我们开始进入Java NIO编程主题.NIO是Java 4里面提供的新的API,目的是用来解决传统IO的问题.本文下面分别从Java ...

  7. java File详解

    一.简介 File类是“文件”和“目录名”的抽象表示形式.因此在java语言中,File类既可以表示文件也可以表示目录. 尽管java.io定义的大多数类是实行流式操作的,而File类则不是,它没有指 ...

  8. Java File 类的使用方法详解(转)

    转自:http://www.codeceo.com/article/java-file-class.html Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作.本文将对J ...

  9. Java初学者:深度辨析"=="与equals的区别

    Java初学者:深度辨析"=="与equals()方法的区别 1.基本数据类型当中,"=="比较的是两个变量的值 int a=5; int b=4; 3 int ...

随机推荐

  1. Spring 复习笔记01

    Spring 框架 1. core:整个Spring框架构建在Core核心模块上,它是整个框架的的基础. 2. AOP:AOP模块提供了一个轻便但功能强大强大的AOP框架,让我们可以以AOP的形式增强 ...

  2. ch1:python3 查看版本号、安装目录和工作空间目录

    查看python版本: 每次打开python顶端会显示版本号 在程序中判断版本号可以通过import sys  sys.version 在dos下可以通过python -V查看 安装目录:C:\Pyt ...

  3. composer 报 zlib_decode(): data error

    使用composer 时报  zlib_decode(): data error 错误. 解决办法:执行 composer self-update 即可

  4. ORA-29339错误解决办法

    create tablespace TBS_JACK_16k blocksize 16k datafile '/u01/app/oracle/oradata/orcl/TBS_JACK_32K_01. ...

  5. symfony中twig的模板过滤器

    过滤器 变量可以被过滤器修饰.过滤器和变量用(|)分割开.过滤器也是可以有参数的.过滤器也可以被多重使用. 通用过滤器 date过滤器 1.1版本新增时区支持,1.5版本增加了默认的日期格式.格式化时 ...

  6. android的充电图标显示

    最近RK3026的项目需要修改开机充电,才分析了Android原生态的充电过程. 充电的代码和图标在system/core/charger中,会编译成名字为charger的可执行文件,打包进ramdi ...

  7. jdk 与jre的区别

    jdk就是java的开发工具集,顾名思义就是你做开发用的,其中包括javac,也就是java compiler等. jre(java runtime environment),就是java程序的运行环 ...

  8. 山东理工大学第七届ACM校赛-经济节约 分类: 比赛 2015-06-26 10:34 19人阅读 评论(0) 收藏

    经济节约 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 由于经济紧张,某国国王决定减少一部分多余的士兵,这些士兵在边界都有各自的 ...

  9. 《Effective C++》读书摘要

    http://www.cnblogs.com/fanzhidongyzby/archive/2012/11/18/2775603.html 1.让自己习惯C++ 条款01:视C++为一个语言联邦 条款 ...

  10. 2016年11月25日 星期五 --出埃及记 Exodus 20:16

    2016年11月25日 星期五 --出埃及记 Exodus 20:16 "You shall not give false testimony against your neighbor.不 ...