- 浏览: 543250 次
- 性别:
- 来自: 湖南娄底
文章分类
- 全部博客 (252)
- C#资料 (0)
- java资料 (22)
- 数据库资料 (0)
- Java :开发中遇到的问题 (4)
- 书写属于我的人生 (6)
- spring (6)
- hibernate (16)
- struts (17)
- SSH (5)
- Linux操作系统 (1)
- Ext (5)
- Jquery (9)
- Tomcat部署出错 (2)
- xml (5)
- JSON (5)
- javascript 专题 (5)
- 开发环境配置 (2)
- web 开发 (27)
- Eclipse (7)
- Integration (1)
- 解决方案搜罗 (7)
- 网站收藏 (8)
- 测试框架 (1)
- iframe 专题 (6)
- JSTL (2)
- 各种插件收集 (2)
- 权限设计模型探讨 (1)
- DWR (1)
- log4j (3)
- java (11)
- java 格式化 (1)
- 软件工程 (2)
- 乱码专题 (1)
- UML (4)
- java 设计模式 篇 (1)
- 用法收集 (0)
- sourceforge apache solutions (2)
- Struts2 + JPA + Spring 开发 (1)
- 自定义工具箱 (0)
- IDE (4)
- opencms (1)
- jeecms (1)
- ant (0)
- maven (2)
- 数据库连接池 (0)
- spring MVC (0)
- android (1)
- web-server (1)
- iphone-开发环境 (1)
- iphone-软件开发 (6)
- iPhone-软件设计 (1)
- iphone-应用 (3)
- iPhone-设置 (2)
- iphone-软件开发-设计模式篇 (0)
- iphone-软件开发-OC基础 (9)
- iphone-软件开发- UI篇 (9)
- iphone-软件开发-工具类篇 (1)
- iphone-软件开发-第三方篇 (0)
- iphone-软件开发-特效篇 (2)
- iphone-软件开发-动画篇 (1)
- oracle (1)
- Java-Security (0)
- Three20 UI (1)
- IOS-HOW-TO-专题 (1)
- Mark-Develope Issues (1)
- iphone-软件开发- 资料参考篇 (1)
- C 语言-基本语法 (0)
- Java Servlet (2)
- Eclipse optimization (1)
- IOS Basic (0)
- ecl (0)
- FRONT-HTML (0)
- FRONT-JS (0)
- PHP (0)
最新评论
-
qq_29862421:
[[color=brown]color=yellow][url ...
java 上传图片同时获得图片的宽和高 -
hhb19900618:
NSString <==> NSNumber 之前 ...
OC 常用数据类型之间的转换 -
baohuan_love:
果然能解决问题,感谢分享
Tomcat Error Page配置 与 Error Page在IE下不能转发的问题 -
唐丽梅6313:
很细致。。
键盘样式风格有关设置-iOS开发 -
olived:
哥哥,为什么我的没有破解成功,总是提示许可文件丢失!!QQ:3 ...
[软件测试解决方案] soapUI 4.0.1破解方法
Java的文件操作太基础,缺乏很多实用工具,比如对目录的操作,支持就非常的差了。如果你经常用Java操作文件或文件夹,你会觉得反复编写这些代码是令人沮丧的问题,而且要大量用到递归。
下面是的一个解决方案,借助Apache Commons IO工具包(commons-io-1.1.jar)来简单实现文件(夹)的复制、移动、删除、获取大小等操作。
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.filefilter.*;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import java.io.*;
/**
* 文件工具箱
*
* @author leizhimin 2008-12-15 13:59:16
*/
public final class FileToolkit {
private static final Log log = LogFactory.getLog(FileToolkit.class);
/**
* 复制文件或者目录,复制前后文件完全一样。
*
* @param resFilePath 源文件路径
* @param distFolder 目标文件夹
* @IOException 当操作发生异常时抛出
*/
public static void copyFile(String resFilePath, String distFolder) throws IOException {
File resFile = new File(resFilePath);
File distFile = new File(distFolder);
if (resFile.isDirectory()) {
FileUtils.copyDirectoryToDirectory(resFile, distFile);
} else if (resFile.isFile()) {
FileUtils.copyFileToDirectory(resFile, distFile, true);
}
}
/**
* 删除一个文件或者目录
*
* @param targetPath 文件或者目录路径
* @IOException 当操作发生异常时抛出
*/
public static void deleteFile(String targetPath) throws IOException {
File targetFile = new File(targetPath);
if (targetFile.isDirectory()) {
FileUtils.deleteDirectory(targetFile);
} else if (targetFile.isFile()) {
targetFile.delete();
}
}
/**
* 移动文件或者目录,移动前后文件完全一样,如果目标文件夹不存在则创建。
*
* @param resFilePath 源文件路径
* @param distFolder 目标文件夹
* @IOException 当操作发生异常时抛出
*/
public static void moveFile(String resFilePath, String distFolder) throws IOException {
File resFile = new File(resFilePath);
File distFile = new File(distFolder);
if (resFile.isDirectory()) {
FileUtils.moveDirectoryToDirectory(resFile, distFile, true);
} else if (resFile.isFile()) {
FileUtils.moveFileToDirectory(resFile, distFile, true);
}
}
/** /** /** /**
/**
* 重命名文件或文件夹
*
* @param resFilePath 源文件路径
* @param newFileName 重命名
* @return 操作成功标识
*/
public static boolean renameFile(String resFilePath, String newFileName) {
String newFilePath = StringToolkit.formatPath(StringToolkit.getParentPath(resFilePath) + "/" + newFileName);
File resFile = new File(resFilePath);
File newFile = new File(newFilePath);
return resFile.renameTo(newFile);
}
* 读取文件或者目录的大小
*
* @param distFilePath 目标文件或者文件夹
* @return 文件或者目录的大小,如果获取失败,则返回-1
*/
public static long genFileSize(String distFilePath) {
File distFile = new File(distFilePath);
if (distFile.isFile()) {
return distFile.length();
} else if (distFile.isDirectory()) {
return FileUtils.sizeOfDirectory(distFile);
}
return -1L;
}
* 判断一个文件是否存在
*
* @param filePath 文件路径
* @return 存在返回true,否则返回false
*/
public static boolean isExist(String filePath) {
return new File(filePath).exists();
}
* 本地某个目录下的文件列表(不递归)
*
* @param folder ftp上的某个目录
* @param suffix 文件的后缀名(比如.mov.xml)
* @return 文件名称列表
*/
public static String[] listFilebySuffix(String folder, String suffix) {
IOFileFilter fileFilter1 = new SuffixFileFilter(suffix);
IOFileFilter fileFilter2 = new NotFileFilter(DirectoryFileFilter.INSTANCE);
FilenameFilter filenameFilter = new AndFileFilter(fileFilter1, fileFilter2);
return new File(folder).list(filenameFilter);
}
* 将字符串写入指定文件(当指定的父路径中文件夹不存在时,会最大限度去创建,以保证保存成功!)
*
* @param res 原字符串
* @param filePath 文件路径
* @return 成功标记
*/
public static boolean string2File(String res, String filePath) {
boolean flag = true;
BufferedReader bufferedReader = null;
BufferedWriter bufferedWriter = null;
try {
File distFile = new File(filePath);
if (!distFile.getParentFile().exists()) distFile.getParentFile().mkdirs();
bufferedReader = new BufferedReader(new StringReader(res));
bufferedWriter = new BufferedWriter(new FileWriter(distFile));
char buf[] = new char[1024]; //字符缓冲区
int len;
while ((len = bufferedReader.read(buf)) != -1) {
bufferedWriter.write(buf, 0, len);
}
bufferedWriter.flush();
bufferedReader.close();
bufferedWriter.close();
} catch (IOException e) {
flag = false;
e.printStackTrace();
}
return flag;
}
}
发表评论
-
java 上传图片同时获得图片的宽和高
2012-02-01 19:00 4526java 上传图片同 ... -
Java实现的拦截器
2012-01-10 09:56 1304Java实现的拦截器 拦截 ... -
Tomcat 6中配置SSL双向认证
2012-01-09 20:58 0参考资料:http://wangking717.ite ... -
使用exe4j打包jar生成exe常用设置
2012-01-07 22:49 1086使用exe4j打包jar生成exe常用设置 ... -
字符串工具箱
2011-12-25 21:01 1018import java.io.File; import ja ... -
JAVA 正则表达式
2011-12-03 22:37 795在Sun的Java JDK 1.40版本中 ... -
java 格式化字符串输出
2011-11-12 10:46 1296输出指定格式的字符串: Java代 ... -
java中实现换行的几种方法
2011-11-12 10:22 48251.使用java中的转义符"\r\n&quo ... -
java 访问修饰符
2011-11-06 12:04 834private package-private 只可以在同一 ... -
java集合框架
2011-10-12 08:10 866待续。。。 -
java中的io系统总结(转)
2011-10-09 09:02 948java中的io中的(input/outp ... -
属性文件的读写
2011-09-17 23:06 927附件中包含:属性文件的读写操作! -
javassist:增强型的java反射工具,获取方法参数名,获取方法参数标注值
2011-09-03 14:24 5057java的反射是不能获取方法的参数名的。比如: publi ... -
quartz cronExpression详解<转载>
2011-08-18 20:14 1025quartz cronExpression详解 2009 ... -
java获取真实客户端ip地址 <转载>
2011-08-12 11:35 1918在JSP里,获取客户端的IP地址的方法是:request.ge ... -
java class.getResource()方法获取文件资源
2011-08-06 22:34 1571《转载》 用JAVA获取文件,听似简单,但对于很多像我这样的 ... -
求数组中最小的不重复的整数
2011-03-19 11:23 1003public class minNoRepeatNum{ ... -
WEB计时器的实现——Timer(转载)
2010-10-21 07:55 1719Java定时器(java.util.Timer)有定时触发计划 ... -
依赖注入的几种实现类型
2010-10-18 10:28 887Type1 接口注入 我们常 ... -
spring 中Pointcut的定义(转)
2010-10-18 09:47 1576在Spring 2.0中,Pointcut的定义包括两个部分 ...
相关推荐
1. **文件操作基础**:在Java中,`java.io.File`类提供了文件和目录的操作接口,如创建、删除、移动、重命名等。我们需要熟悉这个类的方法,如`renameTo()`用于重命名文件。 2. **递归遍历文件**:如果需要批量...
Java生成、修改文件夹和文件名,Java创建目录或文件夹,并修改、删除、重命名文件夹或文件名称,使用进行的文件操作实例。 super("目录和文件的创建、删除和更名"); //调用父类构造函数 jtfPath=new ...
它提供了一些方法来创建、删除、重命名文件或目录,以及获取文件的基本信息,如名称、大小、修改时间等。 2. **`FileInputStream`和`FileOutputStream`**:这两个类分别用于读取和写入文件。`FileInputStream`可以...
本文将详细讲解如何使用开源库JSch来实现在Java中进行SFTP的上传、下载以及删除文件的方法。 JSch是一个纯Java实现的SSH2库,它提供了对SFTP的支持,允许我们在Java应用中安全地执行文件传输。首先,我们需要添加...
本文将深入探讨使用Java管理HDFS文件和文件夹的关键知识点,特别是基于Hadoop 2.4版本。 首先,理解HDFS的基础概念至关重要。HDFS是一种分布式文件系统,设计用于跨大量廉价硬件节点存储和处理大数据。它遵循主从...
4. **文件夹操作**:程序管理文件夹,包括创建、删除和遍历。`java.nio.file.FileVisitor`接口可用于递归地遍历文件夹结构,而`Files.createDirectory()`用于新建目录,`Files.deleteDirectory()`删除空目录。 5. *...
在Java开发中,图片重命名是一项常见的操作,特别是在处理大量图片资源时,为了规范化存储或者便于管理和检索,可能需要对图片文件进行批量重命名。这个过程并不复杂,主要涉及文件I/O操作,包括读取、重命名和写入...
它提供了许多方法,如创建、删除、重命名文件或目录,以及获取文件属性等。删除文件夹时,我们通常需要确保文件夹为空,否则会因为文件夹非空而导致删除失败。在不使用递归的情况下,我们可以用循环来遍历文件夹内的...
它支持SMB2和SMB3协议,允许Java应用程序连接到SMB共享,执行读写文件、创建目录、删除文件等操作。Smbj库提供了异步和同步API,可以方便地集成到多线程环境中。 3. **mbassador-1.3.2.jar**:这是一个事件驱动框架...
通过创建`File`对象,我们可以对文件进行各种操作,包括创建、删除、重命名等。 ### 删除单个文件 要删除一个文件,可以使用`File`类的`delete()`方法。这个方法会尝试删除指定的文件,并返回一个布尔值,表示操作...
* 实现文件夹的创建、删除和重命名功能 * 实现文件夹的基本属性查看,例如文件夹的大小、创建时间、修改时间等 六、视频文件筛选 * 实现视频文件的筛选功能,例如按视频文件的格式、大小、创建时间等进行筛选 * ...
例如,`java.io.File`类可以用于文件和目录的创建、删除以及获取文件信息,而`java.nio.file.Files`类则提供了更现代的文件操作API,如遍历目录、读写文件等。 此工具采用了多线程技术,这是Java的一大特色。多线程...
创建一个别人无法进入也无法删除的文件夹主要依赖于Windows操作系统的一些特殊特性和命令行操作。这种方法的核心是利用`md`命令(用于创建新目录)与一些特殊的路径组合来达到目的。 #### 二、准备工作 在开始之前...
本项目是一个基于Java的文件管理系统,旨在提供对文件和文件夹的基本管理功能,包括创建、删除、重命名文件和文件夹,以及管理文件控制块(FCB)记录。系统还提供了一个自定义的表格模型,用于在Swing框架中展示和...
如果需要处理目录,可以使用`FileSystem`的`mkdirs()`创建目录,`listFiles()`获取目录下所有文件,以及`delete()`删除文件或目录。 在`TestFileSystem.java`这个文件中,可能会包含一个测试类,演示了如何使用这些...
本教程将详细讲解如何利用HDFS API进行文件的上传、创建、删除以及重命名等基本操作。这些API是Java编程接口,为开发者提供了与HDFS交互的便利。 首先,我们需要导入Hadoop相关的库,通常在Java项目中,这可以通过...
### JAVA文件操作类和文件夹的操作 ...这些操作不仅限于文件读取和目录创建,还包括文件删除、重命名、文件属性查询等更多高级功能。熟练掌握这些基本操作有助于开发者更高效地进行文件管理任务。
文件管理器是操作系统中的一个重要组成部分,它允许用户方便地对计算机上的文件和文件夹进行操作,如创建、打开、编辑、移动、复制、删除以及重命名等。在本项目“文件管理器-文件删除,重命名”中,我们将探讨文件...
如果你需要对每个文件或子目录进行进一步的操作,如读取、删除或重命名,`listFiles()`是更好的选择。 3. **递归遍历**:如果目录中还有子目录,我们需要递归地遍历它们。通常,我们会创建一个递归函数,当遇到子...
`File`类提供了许多方法来操作文件和目录,包括创建、删除、重命名等。在这个实例中,我们将主要用到`list()`方法(获取文件夹中的文件或子目录列表)、`isDirectory()`(判断是否为目录)和`delete()`(删除文件或...