Java——FIle:
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:的更多相关文章
- 【转】JAVA错误:The public type *** must be defined in its own file***
出现The public type xxx must be defined in its own file这个问题,是由于定义的JAVA类同文件名不一致.public类必须定义在它自己的文件中. 解决 ...
- 报错: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 ...
- Java学习:File类
Java学习:File类 File类的概述 重点:记住这三个单词 绝对路径和相对路径 File类的构造方法 File类判断功能的方法 File类创建删除功能的方法 File类获取(文件夹)目录和文件夹 ...
- Java NIO:NIO概述
Java NIO:NIO概述 在上一篇博文中讲述了几种IO模型,现在我们开始进入Java NIO编程主题.NIO是Java 4里面提供的新的API,目的是用来解决传统IO的问题.本文下面分别从Java ...
- Java File类总结和FileUtils类
Java File类总结和FileUtils类 文件存在和类型判断 创建出File类的对象并不代表该路径下有此文件或目录. 用public boolean exists()可以判断文件是否存在. Fi ...
- (转载)Java NIO:NIO概述(一)
Java NIO:NIO概述 在上一篇博文中讲述了几种IO模型,现在我们开始进入Java NIO编程主题.NIO是Java 4里面提供的新的API,目的是用来解决传统IO的问题.本文下面分别从Java ...
- java File详解
一.简介 File类是“文件”和“目录名”的抽象表示形式.因此在java语言中,File类既可以表示文件也可以表示目录. 尽管java.io定义的大多数类是实行流式操作的,而File类则不是,它没有指 ...
- Java File 类的使用方法详解(转)
转自:http://www.codeceo.com/article/java-file-class.html Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作.本文将对J ...
- Java初学者:深度辨析"=="与equals的区别
Java初学者:深度辨析"=="与equals()方法的区别 1.基本数据类型当中,"=="比较的是两个变量的值 int a=5; int b=4; 3 int ...
随机推荐
- 【python cookbook】【字符串与文本】11.从字符串中去掉不需要的字符
问题:在字符串的开始.结尾或中间去掉不需要的字符,比如说空格符 解决方案: 1.字符串开始或结尾处去掉字符:str.strip() 2.从左或从右侧开始执行去除字符:str.lstrip().str. ...
- java hashMap缓存简单实现
直接上代码,干货: import java.util.HashMap; import java.util.Map; /** * map缓存 * @author ming * * @param < ...
- React笔记_(5)_react语法4
ajax 数据应用场景 在真实的开发环境中,拿到了产品需求,第一件事不是逼着后台开发人员先完成,然后前端再介入开发,这样太浪费时间. 正确的做法是跟后端人员先商量好接口名称,请求参数,返回的数据格式等 ...
- Erlang-特性
一.模式匹配: 模式匹配作为Erlang的基础,用来完成很多不同的任务:可以用它从数据结构中提取字段值,在函数中进行流程控制,或者当你向一个进程发送消息时,从并行程序刷选那些需要处理的消息: 二.函数 ...
- XML 解析 -- IE ,Chrome
通用的method <script type="text/javascript"> //for chrome, attach method to XMLDocument ...
- Java遍历Map的3种方式
package test; import java.util.Collection; import java.util.HashMap; import java.util.Map; import ja ...
- game of life
class Solution { public: void gameOfLife(vector<vector<int>>& board) { queue<int& ...
- thinkPHP3.2.3完整版 在sae上面的部署
第一步: thinkPHP3.2.3完整版,目录结构如下 第二步:在新浪sae上面创建一个新应用 第三步:用svn down,下来会有两个文件:index.php.config.ya ...
- google 地图层级和对应关系
google 地图层级和对应关系
- 20145227 《Java程序设计》第2周学习总结
20145227 <Java程序设计>第2周学习总结 教材学习内容总结 3.1 类型.变量与运算符 1.基本类型:在java中基本类型主要分为整数.字节.浮点数.字符与布尔. 整数:分为s ...