- 浏览: 329664 次
- 性别:
- 来自: 安徽
文章分类
最新评论
-
fanjf:
因为不是太懂,所以摘录!
DataStage---向目的库插入时出现问题:MLOG$ -
fanjf:
oracle 位图索引:位图索引: 解决某一表数据很多,但某一 ...
【转】 mysql 添加列,修改列,删除列。 -
fanjf:
创建索引:CREATE TABLE mm (m1 CHAR(1 ...
【转】 mysql 添加列,修改列,删除列。 -
fanjf:
查询mysql 的表emp 的约束:
SELECT * FR ...
【转】 mysql 添加列,修改列,删除列。 -
fanjf:
为什么 update 不报错,结果为空?
关于MYSQL 检查check约束
利用Apache Commons IO工具包(commons-io-1.4.jar)来实现文件(夹)的复制、移动、删除、获取大小等操作。
package com.util.file;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.StringReader;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.filefilter.AndFileFilter;
import org.apache.commons.io.filefilter.DirectoryFileFilter;
import org.apache.commons.io.filefilter.IOFileFilter;
import org.apache.commons.io.filefilter.NotFileFilter;
import org.apache.commons.io.filefilter.SuffixFileFilter;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* 文件工具
*/
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 = FileToolkit.getParentPath(resFilePath) + "/" + newFileName;
File resFile = new File(resFilePath);
File newFile = new File(newFilePath);
return resFile.renameTo(newFile);
}
/**
* 根据文件或者目录路径,取得其父路径
* @param filePath
* @return String
*/
private static String getParentPath(String filePath){
if(filePath != null && filePath.indexOf("/")>-1){
String parentPath = filePath.substring(0, filePath.indexOf("/"));
System.out.println("源文件路径:" + filePath);
System.out.println("父文件路径:" + parentPath);
return parentPath;
}else{
return "";
}
}
/**
* 读取文件或者目录的字节大小
*
* @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) {
if(suffix == null){
return new String[]{};
}
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;
}
}
- commons-io-1.4.jar (106.5 KB)
- 下载次数: 1
发表评论
-
JAVA 统一追加扩展名类
2014-07-07 15:34 974最近有人反应某云盘,无法上传视频,我也倍受困扰,后来发现MD ... -
java中替换字符以及回车换行
2014-02-14 13:47 1904[java] view plaincopy 1. / ... -
[转]java中替换字符以及回车换行
2013-11-13 09:18 3381//第一种方式 import java.util.r ... -
Caused by: java.lang.OutOfMemoryError: PermGen space
2013-07-30 16:43 655Caused by: java.lang.OutOfMemo ... -
nested exception is java.sql.BatchUpdateException: 批处理中出现错误: ORA-00972: 标识符过长
2013-07-30 16:21 4410最近开发项目,跑批处理遇到一个问题: 2013-07-28 ... -
软件架构师必读书籍--------软件架构师推荐书籍系列
2012-09-23 17:02 4086一、架构篇 1. 《Softw ... -
【异常】Error configuring application listener of class xxx.xxx.xxx
2012-04-01 11:26 4754严重: Error configuring applicati ... -
Java中的Enum简单例子
2012-03-31 11:12 1322package com.util.enumclass; /* ... -
Java中的Enum的使用与分析
2012-03-30 11:28 925示例: package com.util.enumclass ... -
分享文件一个上传工具类
2012-03-30 10:57 945最近在搭建一个项目,需要用到很多通用的工具类,自己也写了几个。 ... -
缩放图片工具类,创建缩略图、伸缩图片比例
2012-03-30 10:54 848支持将Image的宽度、高度缩放到指定width、height ... -
Java创建、重命名、删除文件和文件夹
2012-03-30 10:52 1632package test.file; import java ... -
Java操作文件工具类
2012-03-30 10:48 1067JAVA API关于操作文件基础类太少,而且缺乏很多使 ... -
java获得实例对象的几种方法
2012-03-29 17:49 1025// 1.new Dog d1 = new Dog ... -
【异常】net.sf.hibernate.NonUniqueObjectException
2012-03-22 16:06 855net.sf.hibernate.NonUniqueObjec ... -
Java虚拟机原理
2012-03-22 15:47 802一、什么是Java虚拟机 ... -
【异常】org.springframework.orm.hibernate3.HibernateQueryException
2012-03-20 10:44 2988今天新同事遇到一个异常,通过如下方法做一个单元测试: /** ... -
【异常】javax.imageio.IIOException: Can't get input stream from URL!
2012-03-19 11:42 9614Exception in thread "main& ... -
Error reading tld listeners java.lang.NullPointerException
2012-03-16 17:40 1553在学习【FreeMarker整合Spring 3.0】时把相应 ... -
Java中hashmap和hashtable的区别
2012-03-01 16:18 7941、 继承和实现区别 Hashtable是基于陈旧的D ...
相关推荐
Java 文件管理器是一款基于Java语言开发的文件管理系统,它提供了用户友好的图形用户界面(GUI),使得用户可以方便地进行文件和目录的操作,如浏览、创建、删除、重命名、移动和复制等。这款应用程序旨在提供一个...
# java实现对文件的各种操作的工具类 ## 可以实现的操作有: 1. 删除单个文件 2. 删除文件夹及文件夹下的文件 3. 使用文件流对单个文件进行复制 ... 4. 复制整个文件夹内容(包含子文件夹... 获取文件或文件夹的大小
除了上述功能,Java还提供了其他文件操作,如检查文件是否存在(`exists()`),删除文件(`delete()`),获取文件大小(`length()`),以及检查文件是否是目录(`isDirectory()`)等。 6. **异常处理**: 在进行文件操作...
在Java编程语言中,实现对本地文件的简单监控是一项实用的技术,这可以帮助开发者在文件系统中检测到诸如移动、复制和粘贴等操作。本文将深入探讨如何利用Java的文件I/O API和事件监听机制来达成这个目标。 首先,...
例如,`FileUtils`类提供了一系列静态方法,可以方便地进行文件和目录的复制、移动、删除等操作。`IOUtils`类则提供了对流进行读取、写入、关闭和转换的方法,使得开发者无需担心IOException的处理。这些工具在处理...
在Java编程语言中,`JAVAIO`是核心的输入/输出处理系统,它提供了一系列类和接口用于读取、写入、创建、移动和管理文件。`JAVAIO`库不仅适用于磁盘文件,还包括网络流、内存数据源和其他类型的输入/输出。在“java...
这个名为"File-Operation-by-java.rar"的压缩包包含了一个用Java实现的文件操作示例,它演示了如何进行文件复制、移动、删除以及新建等基本操作。让我们详细探讨一下这些功能的实现。 1. **文件复制**: 文件复制...
- `length()`:获取文件大小(字节)。 - `lastModified()`:返回文件的最后修改时间(毫秒)。 - `getName()`:获取文件或目录的名称。 - `getParent()`:获取文件或目录的父路径。 5. **文件和目录列举** - ...
2. **文件和目录操作**: Java的java.io.File类是处理文件和目录的核心,可以创建、删除、重命名文件和目录,以及获取文件的大小、修改时间等信息。此外,File类的list()方法用于获取指定目录下的所有文件和子目录。 ...
3. **文件移动**:通过`renameTo()`方法可以将文件移动到另一个位置,但这个方法不支持跨文件系统的移动,对于这种情况,可能需要先复制文件,再删除原文件。 4. **目录操作**:使用`mkdir()`或`mkdirs()`创建新目录...
它可以用来创建、删除、重命名文件或目录,以及获取文件属性,如大小、最后修改时间等。 4. **Path接口**:Java 7引入了`java.nio.file.Path`接口,用于表示文件系统的路径。Path接口提供了更多的路径操作,如合并...
- Java 7引入了`java.nio.file.FileSystemObserver`接口,可以监听文件系统的变化,如文件创建、删除、移动等事件。 6. **路径操作**: - `getParent()`和`getName()`方法用于获取路径的父路径和最后一个元素。 ...
4. **文件复制与移动**:`Files.copy()`和`Files.move()`方法可以轻松实现文件或目录的复制和移动,支持原子操作。 5. **文件属性获取**:通过`File.length()`获取文件大小,`Files.getLastModifiedTime()`得到最后...
6. 文件复制和移动:`Files.copy()`方法可以从源文件复制到目标文件,`Files.move()`方法则可以移动文件或目录,同时支持原子性操作。 7. 文件属性查询:`File`类提供了诸如文件大小、最后修改时间、是否存在等属性...
Java文件操作是编程中常见的任务,涉及到文件的创建、删除、读取、写入以及更复杂的操作如复制、移动、加密、压缩等。以下是一些关键的Java文件操作知识点: 1. **创建文件夹**:使用`java.io.File`类的`mkdir()`或...
在Java中,文件操作是通过流的概念实现的,这允许我们读取、写入、移动、复制以及修改文件。下面我们将深入探讨Java流如何进行文件操作。 ### 文件I/O基础 在Java中,`java.io.File`类是处理文件和目录的基础。它...
这种应用程序允许用户浏览、创建、删除、重命名、复制和移动存储在设备上的文件和目录,提高了用户对手机或平板电脑内部存储的控制和管理能力。 在Java中,实现文件管理涉及到以下几个核心概念和技术: 1. **File...
1. **文件操作**:系统能够进行基本的文件操作,如创建、打开、移动、复制和删除文件。这涉及到对Java的`java.io`包的深入理解和使用,特别是`File`类,它是处理文件和目录的主要入口点。 2. **目录管理**:除了...
在这个系统中,用户可以进行基本的文件和目录操作,如浏览、创建、删除、移动和复制文件或目录。这个项目可能是大学课程中的一个大作业,旨在让学生深入理解Java编程以及文件I/O操作。 在Java中,处理文件和目录...
例如,`FileUtils`类可以方便地进行文件的复制、移动和删除。 3. **Servlet API**: 在Java Web开发中,Servlet API是基础,它提供了处理HTTP请求和响应的方法。在处理文件上传和下载时,我们通常会使用`...