package com.omg.web.util;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.nio.channels.FileChannel;
import java.util.Date;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.omg.soap.service.EBookingMethod;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class FileUtil {
private static final Log LOG = LogFactory.getLog(FileUtil.class);
/**
* 取得文件后缀名
*
* @param fileName
* 文件名
* @return
*/
public static String getFileExtention(String fileName) {
if (null == fileName || fileName.equals("")) {
return "";
}
int i = fileName.lastIndexOf(".");
if (i > 0 && i < fileName.length()) {
return fileName.substring(i);
}
return "";
}
/**
* 文件是否存在
*
* @param filePath
* 文件物理地址
* @return
*/
public static boolean fileExists(String filePath) {
File file = new File(filePath);
return file.exists();
}
/**
* 建立文件夹
*
* @param filePath
* 文件夹路径
* @return
*/
public static File createDirectory(String filePath) {
File file = new File(filePath);
if (!file.exists()) {
file.mkdirs();
}
return file;
}
/**
* 复制文件
*
* @param src
* 源文件
* @param dst
* 目标文件
* @throws IOException
*/
public static void copy(File src, File dst) throws IOException {
FileChannel srcChannel = new FileInputStream(src).getChannel();
FileChannel destChannel = new FileOutputStream(dst).getChannel();
try {
srcChannel.transferTo(0, srcChannel.size(), destChannel);
} finally {
srcChannel.close();
destChannel.close();
}
}
/**
* 下载网络文件保存到本地
*
* @param path
* 网络url
* @param filepath
* 本地保存地址
* @throws Exception
*/
public static boolean downloadFile(String path, String filepath)
throws Exception {
LOG.info("下载图片路径:【" + path + "】");
LOG.info("保存文件路径:【" + filepath + "】");
int line;
byte[] read = new byte[1024];
InputStream in = null;
FileOutputStream out = null;
try {
URL url = new URL(path);
in = url.openStream();
out = new FileOutputStream(filepath);
while ((line = in.read(read)) > 0) {
out.write(read, 0, line);
}
return true;
} catch (Exception e) {
LOG.error(new FileUtil(), e);
LOG.error("下载图片路径:【" + path + "】 failure");
} finally {
if (null != in) {
in.close();
}
if (null != out) {
out.close();
}
}
return false;
}
/**
* 读文件
*
* @param filePath
* 文件地址
* @return
* @throws Exception
*/
public static String readFromFile(String filePath) throws Exception {
String content = null;
FileInputStream fis = null;
try {
fis = new FileInputStream(filePath);
int length = fis.available();
LOG.debug(filePath + "-->file size : " + length);
byte bytes[] = new byte[length];
fis.read(bytes);
content = new String(bytes, "utf-8");
} catch (Exception e) {
LOG.error(e);
throw new Exception(e);
} finally {
if (fis != null) {
fis.close();
}
}
LOG.debug("###### " + filePath + "读取完成。######");
return content;
}
/**
* 写文件
*
* @param content
* 内容
* @param filePath
* 文件地址
* @throws Exception
*/
public static void writeToFile(String content, String filePath)
throws Exception {
FileOutputStream fos = null;
try {
fos = new FileOutputStream(filePath);
byte tag_bytes[] = content.getBytes("utf-8");
fos.write(tag_bytes);
} catch (Exception e) {
LOG.error(e);
throw new Exception(e);
} finally {
if (fos != null) {
fos.close();
}
}
LOG.debug("###### " + filePath + "写入完成。######");
}
/**
* 文件流保存
*
* @param io
* base64文件流
* @param filePath
* @throws Exception
*/
public static void base64ToFile(String io, String filePath)
throws Exception {
FileOutputStream fos = null;
try {
BASE64Decoder decode = new BASE64Decoder();
fos = new FileOutputStream(filePath);
fos.write(decode.decodeBuffer(io));
fos.close();
} catch (Exception e) {
LOG.error(e);
throw new Exception(e);
} finally {
if (null != fos) {
fos.close();
}
}
}
/**
* 生成BASE64文件流
*
* @param filePath
* @return
* @throws Exception
*/
public static String readFileToBase64(String filePath) throws Exception {
FileInputStream io = null;
try {
io = new FileInputStream(new File(filePath));
byte[] b = new byte[io.available()];
io.read(b);
BASE64Encoder encode = new BASE64Encoder();
return encode.encode(b);
} catch (Exception e) {
LOG.error(e);
throw new Exception(e);
} finally {
if (null != io) {
io.close();
}
}
}
public static void deleteFile(String filePath) throws Exception {
try {
File f = new File(filePath);
if (f.exists()) {
f.delete();
}
} catch (Exception e) {
LOG.error(e);
throw new Exception(e);
}
}
/**
* 下载文件
*
* @param file
* @param resp
* @throws Exception
*/
public static void getFileIO(File file, HttpServletResponse resp)
throws Exception {
InputStream fis = null;
OutputStream toClient = null;
try {
// 以流的形式下载文件。
fis = new BufferedInputStream(new FileInputStream(file));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
// 清空response
resp.reset();
// 设置response的Header
resp.addHeader("Content-Disposition", "attachment;filename="
+ new String(file.getName().getBytes()));
resp.addHeader("Content-Length", "" + file.length());
toClient = new BufferedOutputStream(resp.getOutputStream());
resp.setContentType("application/octet-stream");
toClient.write(buffer);
toClient.flush();
toClient.close();
} catch (Exception e) {
LOG.error(e);
throw new Exception(e);
} finally {
if (null != fis) {
fis.close();
}
if (null != toClient) {
toClient.close();
}
}
}
/*
* public static void main(String[] args) { try { FileInputStream io = new
* FileInputStream(new File("f:/d.png")); byte[] b = new
* byte[io.available()]; io.read(b); BASE64Encoder encode = new
* BASE64Encoder(); FileUtil.writeToFile(encode.encode(b), "f:/2.txt");
* String s = EBookingMethod.getStringResult(
* "E:\\xml\\getProcessTaskGraphic_3_response.xml");
* FileUtil.base64ToFile(s, "f:/003.jpg"); } catch (Exception e) { // TODO
* Auto-generated catch block e.printStackTrace(); } }
*/
}
读取text文件:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class ReadTextFile {
public BufferedReader bufread;
public BufferedWriter bufwriter;
File writefile;
String filepath, filecontent, read;
String readStr = "" ;
// 从文本文件中读取内容
public String readfile(String path)
{
try {
filepath = path; // 得到文本文件的路径
File file = new File(filepath);
FileReader fileread = new FileReader(file);
bufread = new BufferedReader(fileread);
while ((read = bufread.readLine()) != null ) {
read = read + " \r\n " ;
readStr = readStr + read;
}
} catch (Exception d) {
System.out.println(d.getMessage());
}
return readStr; // 返回从文本文件中读取内容
}
// 向文本文件中写入内容
public void writefile(String path, String content, boolean append) {
try {
boolean addStr = append; // 通过这个对象来判断是否向文本文件中追加内容
filepath = path; // 得到文本文件的路径
filecontent = "s";//content; // 需要写入的内容
writefile = new File(filepath);
if (writefile.exists() == false ) // 如果文本文件不存在则创建它
{
writefile.createNewFile();
writefile = new File(filepath); // 重新实例化
}
FileWriter filewriter = new FileWriter(writefile, addStr);
// 删除原有文件的内容
java.io.RandomAccessFile file = new java.io.RandomAccessFile(path, "rw" );
file.setLength( 0 );
// 写入新的文件内容
filewriter.write(filecontent);
filewriter.close();
filewriter.flush();
} catch (Exception d) {
System.out.println(d.getMessage());
}
}
public static void main(String[] args) throws Exception {
ReadTextFile parse = new ReadTextFile();
String filecontent = parse.readfile( "E:/ACOM20121113.txt" );
System.out.println(filecontent);
parse.writefile( "f:/success.txt" ,filecontent, true );
}
}
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.nio.channels.FileChannel;
import java.util.Date;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.omg.soap.service.EBookingMethod;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class FileUtil {
private static final Log LOG = LogFactory.getLog(FileUtil.class);
/**
* 取得文件后缀名
*
* @param fileName
* 文件名
* @return
*/
public static String getFileExtention(String fileName) {
if (null == fileName || fileName.equals("")) {
return "";
}
int i = fileName.lastIndexOf(".");
if (i > 0 && i < fileName.length()) {
return fileName.substring(i);
}
return "";
}
/**
* 文件是否存在
*
* @param filePath
* 文件物理地址
* @return
*/
public static boolean fileExists(String filePath) {
File file = new File(filePath);
return file.exists();
}
/**
* 建立文件夹
*
* @param filePath
* 文件夹路径
* @return
*/
public static File createDirectory(String filePath) {
File file = new File(filePath);
if (!file.exists()) {
file.mkdirs();
}
return file;
}
/**
* 复制文件
*
* @param src
* 源文件
* @param dst
* 目标文件
* @throws IOException
*/
public static void copy(File src, File dst) throws IOException {
FileChannel srcChannel = new FileInputStream(src).getChannel();
FileChannel destChannel = new FileOutputStream(dst).getChannel();
try {
srcChannel.transferTo(0, srcChannel.size(), destChannel);
} finally {
srcChannel.close();
destChannel.close();
}
}
/**
* 下载网络文件保存到本地
*
* @param path
* 网络url
* @param filepath
* 本地保存地址
* @throws Exception
*/
public static boolean downloadFile(String path, String filepath)
throws Exception {
LOG.info("下载图片路径:【" + path + "】");
LOG.info("保存文件路径:【" + filepath + "】");
int line;
byte[] read = new byte[1024];
InputStream in = null;
FileOutputStream out = null;
try {
URL url = new URL(path);
in = url.openStream();
out = new FileOutputStream(filepath);
while ((line = in.read(read)) > 0) {
out.write(read, 0, line);
}
return true;
} catch (Exception e) {
LOG.error(new FileUtil(), e);
LOG.error("下载图片路径:【" + path + "】 failure");
} finally {
if (null != in) {
in.close();
}
if (null != out) {
out.close();
}
}
return false;
}
/**
* 读文件
*
* @param filePath
* 文件地址
* @return
* @throws Exception
*/
public static String readFromFile(String filePath) throws Exception {
String content = null;
FileInputStream fis = null;
try {
fis = new FileInputStream(filePath);
int length = fis.available();
LOG.debug(filePath + "-->file size : " + length);
byte bytes[] = new byte[length];
fis.read(bytes);
content = new String(bytes, "utf-8");
} catch (Exception e) {
LOG.error(e);
throw new Exception(e);
} finally {
if (fis != null) {
fis.close();
}
}
LOG.debug("###### " + filePath + "读取完成。######");
return content;
}
/**
* 写文件
*
* @param content
* 内容
* @param filePath
* 文件地址
* @throws Exception
*/
public static void writeToFile(String content, String filePath)
throws Exception {
FileOutputStream fos = null;
try {
fos = new FileOutputStream(filePath);
byte tag_bytes[] = content.getBytes("utf-8");
fos.write(tag_bytes);
} catch (Exception e) {
LOG.error(e);
throw new Exception(e);
} finally {
if (fos != null) {
fos.close();
}
}
LOG.debug("###### " + filePath + "写入完成。######");
}
/**
* 文件流保存
*
* @param io
* base64文件流
* @param filePath
* @throws Exception
*/
public static void base64ToFile(String io, String filePath)
throws Exception {
FileOutputStream fos = null;
try {
BASE64Decoder decode = new BASE64Decoder();
fos = new FileOutputStream(filePath);
fos.write(decode.decodeBuffer(io));
fos.close();
} catch (Exception e) {
LOG.error(e);
throw new Exception(e);
} finally {
if (null != fos) {
fos.close();
}
}
}
/**
* 生成BASE64文件流
*
* @param filePath
* @return
* @throws Exception
*/
public static String readFileToBase64(String filePath) throws Exception {
FileInputStream io = null;
try {
io = new FileInputStream(new File(filePath));
byte[] b = new byte[io.available()];
io.read(b);
BASE64Encoder encode = new BASE64Encoder();
return encode.encode(b);
} catch (Exception e) {
LOG.error(e);
throw new Exception(e);
} finally {
if (null != io) {
io.close();
}
}
}
public static void deleteFile(String filePath) throws Exception {
try {
File f = new File(filePath);
if (f.exists()) {
f.delete();
}
} catch (Exception e) {
LOG.error(e);
throw new Exception(e);
}
}
/**
* 下载文件
*
* @param file
* @param resp
* @throws Exception
*/
public static void getFileIO(File file, HttpServletResponse resp)
throws Exception {
InputStream fis = null;
OutputStream toClient = null;
try {
// 以流的形式下载文件。
fis = new BufferedInputStream(new FileInputStream(file));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
// 清空response
resp.reset();
// 设置response的Header
resp.addHeader("Content-Disposition", "attachment;filename="
+ new String(file.getName().getBytes()));
resp.addHeader("Content-Length", "" + file.length());
toClient = new BufferedOutputStream(resp.getOutputStream());
resp.setContentType("application/octet-stream");
toClient.write(buffer);
toClient.flush();
toClient.close();
} catch (Exception e) {
LOG.error(e);
throw new Exception(e);
} finally {
if (null != fis) {
fis.close();
}
if (null != toClient) {
toClient.close();
}
}
}
/*
* public static void main(String[] args) { try { FileInputStream io = new
* FileInputStream(new File("f:/d.png")); byte[] b = new
* byte[io.available()]; io.read(b); BASE64Encoder encode = new
* BASE64Encoder(); FileUtil.writeToFile(encode.encode(b), "f:/2.txt");
* String s = EBookingMethod.getStringResult(
* "E:\\xml\\getProcessTaskGraphic_3_response.xml");
* FileUtil.base64ToFile(s, "f:/003.jpg"); } catch (Exception e) { // TODO
* Auto-generated catch block e.printStackTrace(); } }
*/
}
读取text文件:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class ReadTextFile {
public BufferedReader bufread;
public BufferedWriter bufwriter;
File writefile;
String filepath, filecontent, read;
String readStr = "" ;
// 从文本文件中读取内容
public String readfile(String path)
{
try {
filepath = path; // 得到文本文件的路径
File file = new File(filepath);
FileReader fileread = new FileReader(file);
bufread = new BufferedReader(fileread);
while ((read = bufread.readLine()) != null ) {
read = read + " \r\n " ;
readStr = readStr + read;
}
} catch (Exception d) {
System.out.println(d.getMessage());
}
return readStr; // 返回从文本文件中读取内容
}
// 向文本文件中写入内容
public void writefile(String path, String content, boolean append) {
try {
boolean addStr = append; // 通过这个对象来判断是否向文本文件中追加内容
filepath = path; // 得到文本文件的路径
filecontent = "s";//content; // 需要写入的内容
writefile = new File(filepath);
if (writefile.exists() == false ) // 如果文本文件不存在则创建它
{
writefile.createNewFile();
writefile = new File(filepath); // 重新实例化
}
FileWriter filewriter = new FileWriter(writefile, addStr);
// 删除原有文件的内容
java.io.RandomAccessFile file = new java.io.RandomAccessFile(path, "rw" );
file.setLength( 0 );
// 写入新的文件内容
filewriter.write(filecontent);
filewriter.close();
filewriter.flush();
} catch (Exception d) {
System.out.println(d.getMessage());
}
}
public static void main(String[] args) throws Exception {
ReadTextFile parse = new ReadTextFile();
String filecontent = parse.readfile( "E:/ACOM20121113.txt" );
System.out.println(filecontent);
parse.writefile( "f:/success.txt" ,filecontent, true );
}
}
发表评论
-
java 读取Excel文件
2013-04-12 13:16 1227package com.aia.util; impor ... -
java ftp操作
2013-04-10 15:09 4044代码一: package com.aia.util; i ... -
用Apache POI将JTable表格数据导出生成Excel文件
2013-04-08 09:06 3579用 Apache POI 将JTable表格数据导出生成Ex ... -
Java解析XML汇总(DOM/SAX/JDOM/DOM4j/XPath)
2013-03-25 10:40 952Java解析xml、解析xml四种方法、DOM、SAX、J ... -
HTML导出数据生成excel
2013-03-22 10:36 967package com.fuxin.app.action. ... -
java实用工具(zip)
2013-03-21 16:14 874解压: package com.util.zip; impor ... -
问题汇总
2013-03-20 16:52 7941. 有时候eclipse会抽疯,项目更新tomcat重启后运 ... -
java实用工具(用3des进行ios加密后台解密)
2013-03-19 13:21 2730IOS 学习通信加密 通信加解密基本算是每个涉及到用户信息的客 ... -
java实用工具(加密)
2013-03-19 13:15 906声明:本文引自http://highill.iteye.com ... -
java实用工具(mail)
2013-03-19 13:16 827最简单的发送邮件方法 package com.omg.web ... -
java实用工具(XML)
2013-03-18 09:46 797package com.omg.web.util; impo ... -
java实用工具(字符串)
2013-03-18 09:45 845package com.omg.web.util; impo ... -
java实用工具(图片)
2013-03-18 09:43 1010package com.omg.web.util; impo ... -
java实用工具(时间日期)
2013-03-18 09:38 1016时间工具: package com.omg.web.uti ...
相关推荐
Java 实用文件小工具是一款专为IT从业者设计的高效文件管理解决方案,它包含了多项实用功能,如文件批量提取、删除以及将Oracle数据库的表结构导出为数据字典。这款工具极大地方便了日常的文件操作和数据库管理工作...
"java实用工具实例"这个压缩包提供了一系列实用技术的示例,包括ActiveMQ消息队列、电子邮件发送、Excel导出、接口设计、Quartz定时任务、Redis缓存操作、Socket通信以及接口和多线程的相关知识。下面将对这些技术...
Java开发实用工具集合是一系列对Java开发者至关重要的资源,这些工具可以帮助提高开发效率,简化工作流程。在这个压缩包中,包含了各种常用的开发jar包、开发工具以及数据库和服务器管理工具,旨在为Java开发者提供...
Java文件对比工具是一种用于比较两个或多个文件之间差异的实用程序,特别适用于编程环境中检查代码间的相似性或差异。在Java开发中,这样的工具能够帮助开发者有效地定位代码修改的地方,协同工作时解决合并冲突,...
XML文件自动转换为Java对象工具是一种实用的开发辅助软件,它可以帮助程序员快速地将XML数据映射到Java类,从而简化了数据处理的过程。在Java开发中,XML常被用作数据交换格式,但手动编写Java类来表示XML结构既耗时...
本文介绍了一个实用且功能全面的文件处理工具类——`FileUtils`。该类封装了50多个与文件相关的操作方法,简化了开发人员在文件操作方面的负担,无需手动处理文件流的关闭或连接池等问题,极大提高了代码的可读性...
这个"Java加载配置文件工具类"很可能是为了解决这个问题而创建的一个实用工具,帮助开发者更方便、高效地处理配置文件。配置文件通常以.properties或.xml格式存在,用于存储应用程序的参数、配置项等。 配置文件的...
【JAVA文件传输工具】是一个由个人开发者编写的实用程序,主要功能是实现文件的高效、安全传输,尤其擅长处理大文件。此工具基于Java编程语言,因此具备跨平台特性,可以在多种操作系统上运行,如Windows、Linux和...
Java文件传输工具是一种基于Java开发的应用程序,设计用于实现基本的点对点(P2P)文件传输功能。这个工具提供了简单易用的界面,让用户能够方便...如果你需要在多台设备间频繁移动文件,这个工具会是一个实用的选择。
总的来说,`cpdetector_1.0.10.jar`是Java开发中的一个实用工具,它提供了高效且准确的文件编码检测功能,帮助开发者更好地处理文本数据,避免因编码问题而引发的程序异常。通过理解并熟练使用这类工具,可以提升...
总的来说,"java代码统计工具"是一个实用的开发辅助工具,通过解析.java文件,它提供了量化代码结构和质量的重要信息,对于项目管理和代码质量管理具有重要意义。它的实现涉及到文件操作、文本解析和可能的过滤策略...
[工具类] XML 实用工具类 .java.txt [工具类] XML工具类2 .java.txt [工具类] 测试Mysql的最大连接数 .java.txt [工具类] 读取、打印输出、保存xml .java.txt [工具类] 分页split_page.jsp .jsp.txt [工具类] 获得...
以上仅是可能包含在"牛逼的java常用工具类"压缩包中的一部分知识点,实际内容可能还包括其他自定义的实用工具类或第三方库。这个压缩包是一个宝贵的资源,可以帮助开发者更好地理解和应用Java工具类,提升开发效率和...
【标题】:“Java小工具”通常指的是用于辅助Java开发或者处理Java相关问题的一系列小巧而实用的程序。这些工具可能包括代码分析、反编译、性能监控等方面,可以帮助开发者更高效地工作。 【描述】:根据提供的博文...
[工具类] XML 实用工具类 .java.txt [工具类] XML工具类2 .java.txt [工具类] 测试Mysql的最大连接数 .java.txt [工具类] 读取、打印输出、保存xml .java.txt [工具类] 分页split_page.jsp .jsp.txt [工具类] 获得...
"java 实用工具好用之极"这个标题暗示了我们讨论的主题是关于Java开发中的实用工具,这些工具能够极大地提高开发效率,简化工作流程。这份礼物可能是针对软件开发人员和初学者的一个集合了各种高效Java工具的压缩包...
总的来说,"wsdl文件生成java webservice 工具"是一个实用的开发辅助工具,尤其适合初学者和开发者调试及学习Web服务。通过这个工具,可以快速地从WSDL文件生成Java代码,大大简化了Web服务的开发过程。只要遵循上述...
《Java实用组件集》是一个包含了丰富功能的Java代码库,主要关注于文件操作这一核心功能。源码的分析和理解可以帮助开发者深入学习Java文件处理的技巧和最佳实践。在这个组件集中,你将发现一系列用于创建、读取、...
“多国语言”表明该工具支持多种语言的编码转换,这对于处理不同国家和地区文件的用户来说非常实用。“批量转换”功能则表示用户可以一次性处理多个文件,大大提高了工作效率。“有源码”再次强调了用户可以查看和...
Java文件比较工具是一种实用程序,它允许程序员或用户对比两个或多个文本文件或二进制文件的内容,找出它们之间的差异。这样的工具在软件开发、版本控制、代码审查以及数据比较等多个场景中非常有用。在Swing中开发...