FileUtils
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List; import org.apache.log4j.Logger; public class FileUtils { /**
* 读取一个文件夹下所有文件的绝对路径。忽略此文件夹下的问价夹
*
* @param absFolderPath
* 文件夹绝对路径
* @return List<String>
*/
public static List<String> readFilePath(String absFolderPath) {
List<String> paths = new ArrayList<String>();
File file = new File(absFolderPath);
// 文件夹
if (file.isDirectory()) {
for (File childFile : file.listFiles()) {
// 不是文件夹并且没有被操作
if (!childFile.isDirectory()) {
// 路径通过"/"手动创建,避免因window下出现反斜杠\ 路径的情况
paths.add(absFolderPath + "/" + childFile.getName());
}
}
}
return paths;
} /**
* 通过文件的绝对路径删除文件,如果传入是文件夹路径,忽略并返回false
*
* @param absFilePath
* 文件绝对路径
* @return boolean
*/
public static boolean deleteFile(String absFilePath) {
boolean result = false;
File file = new File(absFilePath);
if (!file.isDirectory()) {
file.delete();
result = true;
}
return result;
} /**
* 删除问价夹下所有文件
*
* @param absFolderPath
* @return boolean
*/
public static boolean deleteAllFileInTheFolder(String absFolderPath) {
boolean result = true;
for (String filePath : FileDealUtil.readFilePath(absFolderPath)) {
result = result && FileDealUtil.deleteFile(filePath);
}
return result;
} /**
* 将文件移动到指定问价夹下
*
* @param filePath
* 文件路径
* @param folderPath
* 文件夹路径
* @return String 移动后文件路径,filePath为文件夹或folderPath为文件或文件正在被其他进程打开无法移动返回null */
public static String moveFile(String filePath, String folderPath) {
String path = null; File file = new File(filePath);
if (file.isDirectory())
return path;
File folder = new File(folderPath);
if (!folder.exists()) {
folder.mkdirs();
}
if (!folder.isDirectory())
return path; File nowFile = new File(folderPath + "/" + file.getName());
if (nowFile.exists())
nowFile.delete();
if (file.renameTo(new File(folder, file.getName())))
path = folderPath + "/" + file.getName();
return path;
} /**
* 得到文件输入流
*
* @param path
* 绝对路径
* @return InputStream */
public static InputStream getFile(String path) {
// First try to read from the file system ...
File file = new File(path);
if (file.exists() && file.canRead()) {
try {
return new FileInputStream(file);
} catch (FileNotFoundException e) {
// continue
return null;
}
}
return null;
} /**
* 判断文件夹是否存在 void
*
*/
public static boolean existFolder(String folderPath) {
File file = new File(folderPath);
return file.exists();
} /**
* 创建文件夹
*
* @param folderPath
* void
*/
public static void creatFolder(String folderPath) {
if (!existFolder(folderPath)) {
File file = new File(folderPath);
file.mkdirs();
}
} /**
* 获取文件大小 如果文件存在并且不是目录,返回文件大小,如果文件不存在或者是目录,返回0
*
* @return Long 单位bytes
*/
public static Long getFileSize(String filePath) {
File file = new File(filePath);
if (file.exists() && !file.isDirectory()) {
return file.length();
} else {
return 0L;
}
} /**
* 从文件路径中分离出文件名
*
* @param filePath
* @return String
*/
public static String splitFileName(String filePath) {
return filePath.substring(filePath.lastIndexOf("/") + 1);
} /**
*
* @param filePath
* @param inputStream
* @return boolean
*/
public static boolean writeFile(String filePath, InputStream inputStream) {
OutputStream outputStream = null;
try {
outputStream = new FileOutputStream(filePath); int bytesRead = 0;
byte[] buffer = new byte[2048];
while ((bytesRead = inputStream.read(buffer, 0, 2048)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
return true;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
} finally {
try {
outputStream.close();
inputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
FileUtils的更多相关文章
- Java程序员的日常—— FileUtils工具类的使用
package cn.xingoo.learn.commons; import org.apache.commons.io.FileUtils; import org.apache.commons.i ...
- cocos2dx的android版FileUtils的坑
cocos2dx3.13,FileUtils-android.cpp中可以看到: FileUtils::Status FileUtilsAndroid::getContents(const std:: ...
- Java File类总结和FileUtils类
Java File类总结和FileUtils类 文件存在和类型判断 创建出File类的对象并不代表该路径下有此文件或目录. 用public boolean exists()可以判断文件是否存在. Fi ...
- Can't exec "aclocal": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 326.
今天执行:autoreconf -fvi的时候出现如下错误: autoreconf: Entering directory `.' autoreconf: configure.in: not usin ...
- 文件相关操作工具类——FileUtils.java
文件相关操作的工具类,创建文件.删除文件.删除目录.复制.移动文件.获取文件路径.获取目录下文件个数等,满足大多数系统需求. 源码如下:(点击下载 FileUtils.java) import jav ...
- 应用apache FileUtils把网页另存为文件
public static void foo() { try { URL url = new URL("http://www.webservicex.net/globalweather.as ...
- Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.FileUtils
1.错误叙述性说明 警告: Could not create JarEntryRevision for [jar:file:/D:/MyEclipse/apache-tomcat-7.0.53/web ...
- apache的FileUtils方法大全
FileUtils 获取系统的临时目录路径:getTempDirectoryPath() [java] view plaincopyprint? public static String getTem ...
- FileUtils类介绍
Java的文件操作太基础,缺乏很多实用工具,比如对目录的操作,支持就非常的差了.如果你经常用Java操作文件或文件夹,你会觉得反复编写这些代码是令人沮丧的问题,而且要大量用到递归. 下面是的一个解决方 ...
随机推荐
- Delphi中WebBrowser拦截网页Alert对话框消息(转)
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, O ...
- 高级性能调试手段(oprofile+gprofile)+内核追踪手段:LTT
http://blog.csdn.net/wlsfling/article/details/5876134http://www.lenky.info/archives/2012/03/1371http ...
- Qt的皮肤设计(Style Sheet)
Qt的皮肤设计,也可以说是对Qt应用程序的界面美化,Qt使用了一种类CSS的样式规则QSS. 一.Style Sheet的应用 1.直接在程序代码中设置样式,利用setStyleSheet()方法 ...
- UITableView beginUpdate和endUpdate使用的前提
转载地址:http://blog.csdn.net/vieri_ch/article/details/46893023 UITableView有两个方法,用于单元格动画变化的方法,beginUpdat ...
- xslt中的常用函数
在我们制作标签的时候经常要使用到一些xslt的知识,以下整理了常用的xslt函数供大家使用. 常用字符串函数: contains('Welcome','e'):字符串包含,包含:true,不包含:fa ...
- LINUX启动顺序
Linux 启动顺序: 1. BIOS自检 (服务器硬件启动的第一步,坑定的啦) 2. 运行系统内核并检测硬件(这个是看系统了,redhat等相关版本是通过/boot/vm进行启动 vmlinuz) ...
- (转)webstorm快捷键
Ctrl+N 查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L 格式化代码 Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成代码(如get,set方法,构造函数等) ...
- html px em pt长度单位(像素 相对长度 点)知识(转)
html px em pt单位区 一.PX\EM\PT单位介绍 px单位名称为像素,相对长度单位,像素(px)是相对于显示器屏幕分辨率而言的国内推荐:em单位名称为相对长度单位.相对于当前对象内文本的 ...
- js自定义方法名
自定义方法名: <script language="javascript" type="text/javascript">window.onload ...
- Dictionary 总结
foreach (KeyValuePair<int, string> kvp in myDictionary) {...} Dictionary<string, string> ...