- 浏览: 37851 次
- 性别:
- 来自: 重庆
最新评论
package com.Utils;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.Random;
import java.util.Set;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class FileUtils {
private static Log log = LogFactory.getLog(FileUtils.class);
private FileUtils() {}
/**
* 获取随机的文件名称
* @param seed 随机种子
* @return
*/
public static String getRandomFileName(String seed) {
byte[] ra = new byte[100];
new Random().nextBytes(ra);
StringBuilder build = new StringBuilder("");
for (int i = 0; i < ra.length; i++) {
build.append(Byte.valueOf(ra[i]).toString());
}
String currentDate = Long.valueOf(new Date().getTime()).toString();
seed = seed + currentDate + build.toString();
return MD5.encode((seed).toLowerCase());
}
/**
* 列出所有当前层的文件和目录
*
* @param dir 目录名称
* @return fileList 列出的文件和目录
*/
public static File[] ls(String dir) {
return new File(dir).listFiles();
}
/**
* 根据需要创建文件夹
*
* @param dirPath 文件夹路径
* @param del 存在文件夹是否删除 false 不创建文件夹..
*/
public static boolean mkdir(String dirPath,boolean del) {
boolean rs = false;
File dir = new File(dirPath);
//判断文件夹是否存在..
if(dir.exists()) {
if(del){
dir.delete();
}else{
return false;
}
}
dir.mkdirs();
return true;
}
/**
* 删除文件和目录
*
* @param path
* @throws Exception
*/
public static void rm(String path) throws Exception{
if(log.isDebugEnabled())
log.debug("需要删除的文件: " + path);
File file = new File(path);
//判断文件是否存在,,不存在不用删除
if(!file.exists()) {
if(log.isWarnEnabled())
log.warn("文件<" + path + ">不存在");
return;
}
//判断这个文件是否是一个文件夹..
if(file.isDirectory()) {
//是一个文件夹....
//listFiles()把所有文件夹下内容列..
File[] fileList = file.listFiles();
if(fileList == null || fileList.length == 0) {
//如果文件夹空,直接删除..
file.delete();
} else {
//如果文件夹不空,把内容一个一个取出来,迭归判断...
//自己调用自己迭归..
for (File _file : fileList) {
//把文件 内容绝对地址
rm(_file.getAbsolutePath());
}
}
file.delete();
} else {
//如果你删除的是一个文件..
file.delete();
}
}
/**
* 移动文件
*
* @param source 源文件
* @param target 目标文件
* @param cache 文件缓存大小
* @throws Exception
*/
public static void mv(String source,String target,int cache) throws Exception {
if(source.trim().equals(target.trim()))
return;
byte[] cached = new byte[cache];
FileInputStream fromFile = new FileInputStream(source);
FileOutputStream toFile = new FileOutputStream(target);
while(fromFile.read(cached) != -1) {
toFile.write(cached);
}
toFile.flush();
toFile.close();
fromFile.close();
new File(source).deleteOnExit();
}
/**
* 文件复制
* @param source
* @param target
*/
public static void cp(String source,String target){
FileInputStream fin = null;
FileOutputStream fout = null;
//提升性能用一个数组;
byte[] cache = new byte[1024 * 8];
try {
fin = new FileInputStream(source);
fout = new FileOutputStream(target);
int size = fin.read(cache);
while(size != -1){
fout.write(cache, 0, size);
size = fin.read(cache);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(fout != null){
try {
fout.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fin != null){
try {
fin.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/**
* 把属性文件转换成Map
*
* @param propertiesFile
* @return
* @throws Exception
*/
public static final Map<String, String> getPropertiesMap(String propertiesFile) throws Exception{
Properties properties = new Properties();
FileInputStream inputStream = new FileInputStream(propertiesFile);
properties.load(inputStream);
Map<String, String> map = new HashMap<String, String>();
Set<Object> keySet = properties.keySet();
for (Object key : keySet) {
map.put((String)key, properties.getProperty((String)key));
}
return map;
}
@SuppressWarnings("unchecked")
public static final Map<String, String> getPropertiesMap(Class clazz,String fileName) throws Exception{
Properties properties = new Properties();
InputStream inputStream = clazz.getResourceAsStream(fileName);
if(inputStream == null)
inputStream = clazz.getClassLoader().getResourceAsStream(fileName);
properties.load(inputStream);
Map<String, String> map = new HashMap<String, String>();
Set<Object> keySet = properties.keySet();
for (Object key : keySet) {
map.put((String)key, properties.getProperty((String)key));
}
return map;
}
/**
* 把属性文件转换成Map
*
* @param inputStream
* @return
* @throws Exception
*/
public static final Map<String, String> getPropertiesMap(InputStream inputStream) throws Exception{
Properties properties = new Properties();
properties.load(inputStream);
Map<String, String> map = new HashMap<String, String>();
Set<Object> keySet = properties.keySet();
for (Object key : keySet) {
map.put((String)key, properties.getProperty((String)key));
}
return map;
}
/**
* 把文本文件转换成String
*
* @param fullPath
* @return
* @throws Exception
*/
public static String readFile(String fullPath) throws Exception{
BufferedReader reader = new BufferedReader(new FileReader(fullPath));
if(reader == null)
return null;
StringBuilder builder = new StringBuilder("");
String line = null;
while((line = reader.readLine()) != null) {
builder.append(line + "\n");
}
return builder.toString();
}
/**
* 获取资源文件流
*
* @param clazz
* @param name
* @return
*/
@SuppressWarnings("unchecked")
public static InputStream getResourceAsStream(Class clazz,String name) {
try {
InputStream inputStream = clazz.getResourceAsStream(name);
if(inputStream == null)
inputStream = clazz.getClassLoader().getResourceAsStream(name);
return inputStream;
} catch (Exception e) {
if(log.isWarnEnabled())
log.warn("获取资源文件失败", e);
return null;
}
}
/**
* 文件重命名
* @param path
* @param oldname
* @param newname
*/
public static void renameFile(String path,String oldname,String newname){
if(!oldname.equals(newname)){//新的文件名和以前文件名不同时,才有必要进行重命名
File oldfile=new File(path+"/"+oldname);
File newfile=new File(path+"/"+newname);
if(newfile.exists())//若在该目录下已经有一个文件和新文件名相同,则不允许重命名
System.out.println(newname+"已经存在!");
else{
oldfile.renameTo(newfile);
}
}
}
//
public static void main(String[] args){
// File [] lists = ls(".");
// for(File f:lists){
// System.out.println(f.getName());
// }
//boolean is = mkdir("a",false);
//System.out.println(is);
// try{
// rm("a");
// }catch(Exception e){
// e.printStackTrace();
// }
// try{
// long start = System.currentTimeMillis();
// mv("f://AdbeRdr920_zh_CN.exe","e://c.exe",1024 *;
// long end = System.currentTimeMillis();
// System.out.println(end - start);
// }catch(Exception e){
// e.printStackTrace();
// }
}
}
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.Random;
import java.util.Set;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class FileUtils {
private static Log log = LogFactory.getLog(FileUtils.class);
private FileUtils() {}
/**
* 获取随机的文件名称
* @param seed 随机种子
* @return
*/
public static String getRandomFileName(String seed) {
byte[] ra = new byte[100];
new Random().nextBytes(ra);
StringBuilder build = new StringBuilder("");
for (int i = 0; i < ra.length; i++) {
build.append(Byte.valueOf(ra[i]).toString());
}
String currentDate = Long.valueOf(new Date().getTime()).toString();
seed = seed + currentDate + build.toString();
return MD5.encode((seed).toLowerCase());
}
/**
* 列出所有当前层的文件和目录
*
* @param dir 目录名称
* @return fileList 列出的文件和目录
*/
public static File[] ls(String dir) {
return new File(dir).listFiles();
}
/**
* 根据需要创建文件夹
*
* @param dirPath 文件夹路径
* @param del 存在文件夹是否删除 false 不创建文件夹..
*/
public static boolean mkdir(String dirPath,boolean del) {
boolean rs = false;
File dir = new File(dirPath);
//判断文件夹是否存在..
if(dir.exists()) {
if(del){
dir.delete();
}else{
return false;
}
}
dir.mkdirs();
return true;
}
/**
* 删除文件和目录
*
* @param path
* @throws Exception
*/
public static void rm(String path) throws Exception{
if(log.isDebugEnabled())
log.debug("需要删除的文件: " + path);
File file = new File(path);
//判断文件是否存在,,不存在不用删除
if(!file.exists()) {
if(log.isWarnEnabled())
log.warn("文件<" + path + ">不存在");
return;
}
//判断这个文件是否是一个文件夹..
if(file.isDirectory()) {
//是一个文件夹....
//listFiles()把所有文件夹下内容列..
File[] fileList = file.listFiles();
if(fileList == null || fileList.length == 0) {
//如果文件夹空,直接删除..
file.delete();
} else {
//如果文件夹不空,把内容一个一个取出来,迭归判断...
//自己调用自己迭归..
for (File _file : fileList) {
//把文件 内容绝对地址
rm(_file.getAbsolutePath());
}
}
file.delete();
} else {
//如果你删除的是一个文件..
file.delete();
}
}
/**
* 移动文件
*
* @param source 源文件
* @param target 目标文件
* @param cache 文件缓存大小
* @throws Exception
*/
public static void mv(String source,String target,int cache) throws Exception {
if(source.trim().equals(target.trim()))
return;
byte[] cached = new byte[cache];
FileInputStream fromFile = new FileInputStream(source);
FileOutputStream toFile = new FileOutputStream(target);
while(fromFile.read(cached) != -1) {
toFile.write(cached);
}
toFile.flush();
toFile.close();
fromFile.close();
new File(source).deleteOnExit();
}
/**
* 文件复制
* @param source
* @param target
*/
public static void cp(String source,String target){
FileInputStream fin = null;
FileOutputStream fout = null;
//提升性能用一个数组;
byte[] cache = new byte[1024 * 8];
try {
fin = new FileInputStream(source);
fout = new FileOutputStream(target);
int size = fin.read(cache);
while(size != -1){
fout.write(cache, 0, size);
size = fin.read(cache);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(fout != null){
try {
fout.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fin != null){
try {
fin.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/**
* 把属性文件转换成Map
*
* @param propertiesFile
* @return
* @throws Exception
*/
public static final Map<String, String> getPropertiesMap(String propertiesFile) throws Exception{
Properties properties = new Properties();
FileInputStream inputStream = new FileInputStream(propertiesFile);
properties.load(inputStream);
Map<String, String> map = new HashMap<String, String>();
Set<Object> keySet = properties.keySet();
for (Object key : keySet) {
map.put((String)key, properties.getProperty((String)key));
}
return map;
}
@SuppressWarnings("unchecked")
public static final Map<String, String> getPropertiesMap(Class clazz,String fileName) throws Exception{
Properties properties = new Properties();
InputStream inputStream = clazz.getResourceAsStream(fileName);
if(inputStream == null)
inputStream = clazz.getClassLoader().getResourceAsStream(fileName);
properties.load(inputStream);
Map<String, String> map = new HashMap<String, String>();
Set<Object> keySet = properties.keySet();
for (Object key : keySet) {
map.put((String)key, properties.getProperty((String)key));
}
return map;
}
/**
* 把属性文件转换成Map
*
* @param inputStream
* @return
* @throws Exception
*/
public static final Map<String, String> getPropertiesMap(InputStream inputStream) throws Exception{
Properties properties = new Properties();
properties.load(inputStream);
Map<String, String> map = new HashMap<String, String>();
Set<Object> keySet = properties.keySet();
for (Object key : keySet) {
map.put((String)key, properties.getProperty((String)key));
}
return map;
}
/**
* 把文本文件转换成String
*
* @param fullPath
* @return
* @throws Exception
*/
public static String readFile(String fullPath) throws Exception{
BufferedReader reader = new BufferedReader(new FileReader(fullPath));
if(reader == null)
return null;
StringBuilder builder = new StringBuilder("");
String line = null;
while((line = reader.readLine()) != null) {
builder.append(line + "\n");
}
return builder.toString();
}
/**
* 获取资源文件流
*
* @param clazz
* @param name
* @return
*/
@SuppressWarnings("unchecked")
public static InputStream getResourceAsStream(Class clazz,String name) {
try {
InputStream inputStream = clazz.getResourceAsStream(name);
if(inputStream == null)
inputStream = clazz.getClassLoader().getResourceAsStream(name);
return inputStream;
} catch (Exception e) {
if(log.isWarnEnabled())
log.warn("获取资源文件失败", e);
return null;
}
}
/**
* 文件重命名
* @param path
* @param oldname
* @param newname
*/
public static void renameFile(String path,String oldname,String newname){
if(!oldname.equals(newname)){//新的文件名和以前文件名不同时,才有必要进行重命名
File oldfile=new File(path+"/"+oldname);
File newfile=new File(path+"/"+newname);
if(newfile.exists())//若在该目录下已经有一个文件和新文件名相同,则不允许重命名
System.out.println(newname+"已经存在!");
else{
oldfile.renameTo(newfile);
}
}
}
//
public static void main(String[] args){
// File [] lists = ls(".");
// for(File f:lists){
// System.out.println(f.getName());
// }
//boolean is = mkdir("a",false);
//System.out.println(is);
// try{
// rm("a");
// }catch(Exception e){
// e.printStackTrace();
// }
// try{
// long start = System.currentTimeMillis();
// mv("f://AdbeRdr920_zh_CN.exe","e://c.exe",1024 *;
// long end = System.currentTimeMillis();
// System.out.println(end - start);
// }catch(Exception e){
// e.printStackTrace();
// }
}
}
发表评论
-
对象的字段以键值对的形式返回
2011-10-11 21:22 1997但是,如果双向关联都设置成fetch = FetchType. ... -
得到本机的ip地址
2011-06-25 13:12 1149public static String getL ... -
怎么获得Map<String,Date>中 String或Date类型
2011-06-16 09:28 4771有一个要求就是获得范型中类型;想了很多招都不能实现。 但有框架 ... -
javascript检验xml是否正确
2011-01-04 20:07 1041<script type="text/java ... -
图片防止盗链 转转kaka100
2011-01-03 16:11 648转。。转。。 -
新发现----享元模式
2011-01-02 23:54 718java1.5新知识: public class A { ... -
得到汉字的拼音
2011-01-02 15:17 933package cn.java; public class ... -
设置图片等比例缩小
2011-01-02 15:04 792//----------------------------- ... -
网页中一些特殊字符的转换,如[image]
2011-01-02 14:51 983package com.email.util; public ... -
BigDecimal 的学习
2010-12-31 00:23 725package com.util; import java. ... -
人民币
2010-12-31 00:09 811package com.util; public class ... -
单例模式 转转转
2010-12-30 19:49 751单例模式的七种写法 文章分类:Java编程 转载请注明出处: ... -
文件压缩
2010-12-30 13:17 661package com.email.util; import ... -
Cookie的一些操作
2010-12-30 13:15 672package com.email.util; import ... -
servlet处理参数的一些操作
2010-12-30 13:09 603import javax.servlet.http.HttpS ... -
字符串与时间格式的相互操作
2010-12-30 13:06 830import java.text.ParseException ... -
oracle 连接... 修改.....查询
2010-12-30 12:49 604package com.Utils; import java. ... -
tools----java---->mail
2010-12-20 20:28 589package cn.java; import java.u ... -
工具类-------字符串转成时间格式
2010-12-20 20:14 651package cn.java; import java.t ... -
处理中文乱码(新,比较万能)(encodeURI)
2010-12-19 01:04 1132$.ajax({ type:"GET ...
相关推荐
这样的批处理文件简化了操作,使得用户无需手动输入命令就能完成转换。 在实际应用中,这个工具可能适用于以下场景: 1. **固件更新**:当固件以BIN格式提供,但编程器或烧录器需要S19格式时,此工具可以方便地...
在使用"bin文件转txt文件工具"时,用户可以加载bin文件到软件界面,然后执行转换操作。由于该工具支持任意大小的文件,这意味着无论bin文件有多大,只要内存和硬盘空间允许,都能进行转换。这对于处理大型数据集或者...
转换过程通常需要借助专门的转换工具,如压缩包中的"A文件转Excel.exe"。这个程序可能是设计用来解析A文件格式,并将其数据导出到Excel工作簿中。使用这类工具时,用户需要按照软件的指引,选择要转换的A文件,然后...
在Windows系统中,需要将`netcdf.dll`文件复制到`system32`目录下,这样系统才能识别并执行与NetCDF相关的操作。 2. **配置CMD路径**:确保所有相关的转换工具(如ncdump或其他第三方工具)已经下载并放入命令行...
它提供了丰富的命令行工具,用于执行各种LAS文件的操作和格式转换,如点云过滤、分类、裁剪、合并、统计分析等。`Lastool` 的强大之处在于其灵活性和高效性,使得用户能够在命令行环境中快速处理大规模的激光雷达...
"adinit26.dat"可能是一个AutoCAD相关的初始化配置文件,但在这个特定的上下文中,它似乎不是直接用于转换过程,可能是遗留的或者与转换工具有关的其他支持文件。 "dxf2xyz.exe"是可执行文件,它是实际进行DXF到XYZ...
本篇文章将深入探讨如何使用C#操作LibreOffice组件来实现文件格式之间的转换,包括Word、HTML、Excel、PDF以及图像等。 LibreOffice是一款开源的办公套件,它提供了API接口,允许开发者通过编程方式与LibreOffice...
获取PDB文件后,按照以下步骤操作: 1. **运行工具**:找到"PDB-TXT.exe",双击运行。如果需要在命令行环境中使用,可以打开命令提示符或PowerShell,并定位到该可执行文件的目录。 2. **输入参数**:在命令行界面...
标题中的"python json文件转txt文件,批处理json文件转换成一个txt文件",指的是使用Python编写脚本来读取多个JSON文件,解析其内容,并将数据写入到TXT文件中。这通常涉及到以下步骤: 1. **导入必要的库**:首先...
在Windows上,还有许多图形界面工具可以进行此操作,比如Hex Editors(十六进制编辑器),如HxD,它可以读取和编辑二进制文件,同时也能导出为其他格式,包括BIN。 在进行转换时,需要注意以下几点: 1. 数据的含义...
标题提及的“hex文件转bin文件工具”是一个专门用于将Intel HEX格式(HEX)文件转换为二进制格式(BIN)的工具。Intel HEX是一种文本格式,用于存储可编程设备的编程数据,如微控制器或EPROM。它以ASCII字符形式记录...
综上所述,d 文件转 o 文件是 GNSS 数据处理中的一个重要环节,它涉及到数据预处理、坐标转换和观测值计算等一系列复杂操作。理解这个过程并掌握相应的工具和方法,对于高效利用 GNSS 数据进行各种应用是至关重要的...
《文件目录结构转文本网页:技术解析与应用》 在现代数字生活中,管理和呈现大量文件目录结构变得日益重要。为了方便浏览和分享这些信息,将文件目录结构转化为文本网页,尤其是HTML格式,成为了一种高效的方式。...
在IT领域,转换文件格式是常见的操作之一,例如将TXT文本转换为BIN文件。TXT文件是一种常见的纯文本格式,用于存储人类可读的数据,而BIN文件通常代表二进制文件,可能包含计算机程序、数据或其他特定格式的信息。...
本话题主要涉及"adf文件转TIFF文件",这是一种将特定的数据格式转换为广泛使用的图像格式的过程。下面我们将深入探讨ADF(Arc/Info Binary Grid)文件和TIFF(Tagged Image File Format)文件,以及如何进行这种转换...
压缩包子文件的文件名称“HEXתBIN.exe”暗示这可能是一个Windows操作系统下的可执行文件,它的功能就是执行HEX到二进制的转换操作。用户只需运行这个程序,并提供输入的HEX文件路径和输出的二进制文件路径,就可以...
标题"TXT文件转DAT文件(ASCII转BINARY)"表明我们要处理的是两个文件类型:TXT和DAT。TXT文件是纯文本文件,通常使用ASCII编码,而DAT文件则是一个通用术语,可以代表任何类型的二进制数据,不拘泥于特定的文件格式...
在实际项目中,文件转Base64操作通常用于上传文件至服务器,存储在数据库中,或者在网络中以文本形式传输。了解并熟练掌握这一技巧对于C#开发者来说是非常重要的。在标签中提到的"C#文件转base64 文件转换"是一个...
在实际操作中,确保你正确指定了文件路径和名称,避免出现找不到文件的错误。同时,转换过程中需要注意数据的完整性,确保转换前后文件的内容没有丢失或被篡改。在某些情况下,可能还需要关注文件的字节顺序,尤其是...
标题"把hex文件转成ROM_hex"指的就是这个过程。以下将详细介绍如何进行这个转换,并解释相关的工具和技术。 1. HEX文件: HEX文件通常由编译器或汇编器生成,其中包含了程序代码、数据以及地址信息。每个记录都包含...