- 浏览: 434466 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
springaop_springmvc:
apache lucene开源框架demo使用实例教程源代码下 ...
Java搜索工具——Lucene实例总结(一) -
chengang292214:
总结的不错
Web开发中的路径问题 -
liuyuanhui0301:
aka~
Java 归并排序(基于数组) -
IT人_:
不错
远程连接MySQL,防火墙阻止访问,解决办法 -
zhuchao_ko:
借鉴。
JNDI访问LDAP
FileOperate实现的功能:
1. 返回文件夹中所有文件列表
2. 读取文本文件内容
3. 新建目录
4. 新建多级目录
5. 新建文件
6. 有编码方式的创建文件
7. 删除文件
8. 删除指定文件夹下所有文件
9. 复制单个文件
10. 复制整个文件夹的内容
11. 移动文件
12. 移动目录
13. 建立一个可以追加的bufferedwriter
14. 得到一个bufferedreader
package utils; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintWriter; import java.util.StringTokenizer; public class FileOperate { private String message; public FileOperate() { } /** * 遍历文件夹中文件 * * @param filepath * @return 返回file[]数组 */ public File[] getFileList(String filepath) { File d = null; File list[] = null; // 建立当前目录中文件的File对象 try { d = new File(filepath); if (d.exists()) { list = d.listFiles(); } } catch (Exception ex) { ex.printStackTrace(); message = "遍历文件夹出错"; } // 取得代表目录中所有文件的File对象数组 return list; } /** * 读取文本文件内容 * * @param filePathAndName * 带有完整绝对路径的文件名 * @param encoding * 文本文件打开的编码方式 * @return 返回文本文件的内容 */ public String readTxt(String filePathAndName, String encoding) throws IOException { encoding = encoding.trim(); StringBuffer str = new StringBuffer(""); String st = ""; try { FileInputStream fs = new FileInputStream(filePathAndName); InputStreamReader isr; if (encoding.equals("")) { isr = new InputStreamReader(fs); } else { isr = new InputStreamReader(fs, encoding); } BufferedReader br = new BufferedReader(isr); try { String data = ""; while ((data = br.readLine()) != null) { str.append(data); } } catch (Exception e) { str.append(e.toString()); } st = str.toString(); if (st != null && st.length() > 1) st = st.substring(0, st.length() - 1); } catch (IOException es) { st = ""; } return st; } /** * 新建目录 * * @param folderPath * 目录 * @return 返回目录创建后的路径 */ public String createFolder(String folderPath) { String txt = folderPath; try { java.io.File myFilePath = new java.io.File(txt); txt = folderPath; if (!myFilePath.exists()) { myFilePath.mkdir(); } } catch (Exception e) { message = "创建目录操作出错"; } return txt; } /** * 多级目录创建 * * @param folderPath * 准备要在本级目录下创建新目录的目录路径例如 c:myf * @param paths * 无限级目录参数,各级目录以单数线区分 例如 a|b|c * @return 返回创建文件后的路径 */ public String createFolders(String folderPath, String paths) { String txts = folderPath; try { String txt; txts = folderPath; StringTokenizer st = new StringTokenizer(paths, "|"); for (int i = 0; st.hasMoreTokens(); i++) { txt = st.nextToken().trim(); if (txts.lastIndexOf("/") != -1) { txts = createFolder(txts + txt); } else { txts = createFolder(txts + txt + "/"); } } } catch (Exception e) { message = "创建目录操作出错"; } return txts; } /** * 新建文件 * * @param filePathAndName * 文本文件完整绝对路径及文件名 * @param fileContent * 文本文件内容 * @return */ public void createFile(String filePathAndName, String fileContent) { try { String filePath = filePathAndName; filePath = filePath.toString(); File myFilePath = new File(filePath); if (!myFilePath.exists()) { myFilePath.createNewFile(); } FileWriter resultFile = new FileWriter(myFilePath); PrintWriter myFile = new PrintWriter(resultFile); String strContent = fileContent; myFile.println(strContent); myFile.close(); resultFile.close(); } catch (Exception e) { message = "创建文件操作出错"; } } /** * 有编码方式的文件创建 * * @param filePathAndName * 文本文件完整绝对路径及文件名 * @param fileContent * 文本文件内容 * @param encoding * 编码方式 例如 GBK 或者 UTF-8 * @return */ public void createFile(String filePathAndName, String fileContent, String encoding) { try { String filePath = filePathAndName; filePath = filePath.toString(); File myFilePath = new File(filePath); if (!myFilePath.exists()) { myFilePath.createNewFile(); } PrintWriter myFile = new PrintWriter(myFilePath, encoding); String strContent = fileContent; myFile.println(strContent); myFile.close(); } catch (Exception e) { message = "创建文件操作出错"; } } /** * 删除文件 * * @param filePathAndName * 文本文件完整绝对路径及文件名 * @return Boolean 成功删除返回true遭遇异常返回false */ public boolean delFile(String filePathAndName) { boolean bea = false; try { String filePath = filePathAndName; File myDelFile = new File(filePath); if (myDelFile.exists()) { myDelFile.delete(); bea = true; } else { bea = false; message = (filePathAndName + "删除文件操作出错"); } } catch (Exception e) { message = e.toString(); } return bea; } /** * 删除文件 * * @param folderPath * 文件夹完整绝对路径 * @return */ public void delFolder(String folderPath) { try { delAllFile(folderPath); // 删除完里面所有内容 String filePath = folderPath; filePath = filePath.toString(); java.io.File myFilePath = new java.io.File(filePath); myFilePath.delete(); // 删除空文件夹 } catch (Exception e) { message = ("删除文件夹操作出错"); } } /** * 删除指定文件夹下所有文件 * * @param path * 文件夹完整绝对路径 * @return * @return */ public boolean delAllFile(String path) { boolean bea = false; File file = new File(path); if (!file.exists()) { return bea; } if (!file.isDirectory()) { return bea; } String[] tempList = file.list(); File temp = null; for (int i = 0; i < tempList.length; i++) { if (path.endsWith(File.separator)) { temp = new File(path + tempList[i]); } else { temp = new File(path + File.separator + tempList[i]); } if (temp.isFile()) { temp.delete(); } if (temp.isDirectory()) { delAllFile(path + "/" + tempList[i]);// 先删除文件夹里面的文件 delFolder(path + "/" + tempList[i]);// 再删除空文件 bea = true; } } return bea; } /** * 复制单个文件 * * @param oldPathFile * 准备复制的文件源 * @param newPathFile * 拷贝到新绝对路径带文件名 * @return */ public void copyFile(String oldPathFile, String newPathFile) { try { int bytesum = 0; int byteread = 0; File oldfile = new File(oldPathFile); if (oldfile.exists()) { // 文件存在 InputStream inStream = new FileInputStream(oldPathFile); // 读入源文件 FileOutputStream fs = new FileOutputStream(newPathFile); byte[] buffer = new byte[1444]; while ((byteread = inStream.read(buffer)) != -1) { bytesum += byteread; // 字节 文件大小 System.out.println(bytesum); fs.write(buffer, 0, byteread); } inStream.close(); } } catch (Exception e) { message = ("复制单个文件操作出错"); } } /** * 复制整个文件夹的内容 * * @param oldPath * 准备拷贝的目录 * @param newPath * 指定绝对路径的新目录 * @return */ public void copyFolder(String oldPath, String newPath) { try { new File(newPath).mkdirs(); // 如果文件夹不存在 则建立新文件 File a = new File(oldPath); String[] file = a.list(); File temp = null; for (int i = 0; i < file.length; i++) { if (oldPath.endsWith(File.separator)) { temp = new File(oldPath + file[i]); } else { temp = new File(oldPath + File.separator + file[i]); } if (temp.isFile()) { FileInputStream input = new FileInputStream(temp); FileOutputStream output = new FileOutputStream(newPath + "/" + (temp.getName()).toString()); byte[] b = new byte[1024 * 5]; int len; while ((len = input.read(b)) != -1) { output.write(b, 0, len); } output.flush(); output.close(); input.close(); } if (temp.isDirectory()) {// 如果是子文件 copyFolder(oldPath + "/" + file[i], newPath + "/" + file[i]); } } } catch (Exception e) { message = "复制整个文件夹内容操作出错"; } } /** * 移动文件 * * @param oldPath * @param newPath * @return */ public void moveFile(String oldPath, String newPath) { copyFile(oldPath, newPath); delFile(oldPath); } /** * 移动目录 * * @param oldPath * @param newPath * @return */ public void moveFolder(String oldPath, String newPath) { copyFolder(oldPath, newPath); delFolder(oldPath); } /** * 建立一个可以追加的bufferedwriter * * @param fileDir * @param fileName * @return */ public BufferedWriter getWriter(String fileDir, String fileName) { try { File f1 = new File(fileDir); if (!f1.exists()) { f1.mkdirs(); } f1 = new File(fileDir, fileName); if (!f1.exists()) { f1.createNewFile(); } BufferedWriter bw = new BufferedWriter(new FileWriter(f1.getPath(), true)); return bw; } catch (Exception e) { System.out.println(e.getLocalizedMessage()); return null; } } /** * 得到一个bufferedreader * * @param fileDir * @param fileName * @param encoding * @return */ public BufferedReader getReader(String fileDir, String fileName, String encoding) { try { File file = new File(fileDir, fileName); InputStreamReader read = new InputStreamReader(new FileInputStream( file), encoding); BufferedReader br = new BufferedReader(read); return br; } catch (FileNotFoundException ex) { ex.printStackTrace(); return null; } catch (IOException e) { e.printStackTrace(); return null; } } public String getMessage() { return this.message; } }
发表评论
-
Test
2014-07-11 15:51 768insert into CMLGPLGP (CMLGP_L ... -
C/C++调用Java代码 创建对象、字符串操作
2011-12-01 16:08 3704back>> 1. java对象的创建的步骤 ... -
JNI(C/C++调用Java父类/子类方法)
2011-11-30 21:56 8281back>> 1. C/C++调用Java函 ... -
C/C++调用Java代码(属性和方法)
2011-11-30 10:48 9392back>> 1. JNIEnv对象 ... -
JNI(Java调用C/C++代码)
2011-11-30 10:46 8476back>> 1. 首先在Java类中声明一 ... -
JNI(Java Native Interface)
2011-11-30 10:12 12901. 基本概念 - Java是跨平台的语言, ... -
JNDI访问LDAP
2011-11-27 11:52 35281. 搭建了ldap服务器 - 下载ope ... -
JNDI
2011-11-27 11:22 21991. 基本概念 (参考 ) jndi ... -
Java 文件锁技术
2011-08-06 09:39 2233IRIP项目中,Agent每分钟都要向Director ... -
XML解析(SAX解析)
2011-05-19 21:07 10991. SAX的基本原理及常用的接口 * Si ... -
java里抽象类和接口的区别
2011-03-05 23:31 820下面的这篇文章讲 ... -
Java 多线程(三)--正确理解ThreadLocal
2011-03-03 18:04 1411转自:http://www.iteye.com/topic/1 ... -
Callable 与 Runnable 的区别
2011-03-03 17:56 3267转自:http://blog.sina.com.cn/s/bl ... -
Java 多线程(二)
2011-03-03 16:21 2073并发 Table of Contents ... -
Java编码规范
2011-02-15 11:10 16321.Eclipse配置 (1) 导入o ... -
Java搜索工具——Lucene实例总结(一)
2010-12-22 21:42 17945参考网页:http://footman265.itey ... -
Java 集合--Map、HashMap、HashTable、TreeMap
2010-12-14 14:20 100971. Map基础 Map接口提供3种集 ... -
JMS在Spring框架下的应用
2010-12-07 23:51 13224上传通讯薄操作, ... -
页面自动跳转代码
2010-11-09 15:11 16281. 在body中使用onload属性 &l ... -
Java 多线程(一)
2010-07-27 18:07 1011参考自:http://lavasoft.blog.51cto. ...
相关推荐
javaio文件操作工具类,集成小部分对目录操作的方法,平时工作中学习中总结的部分方法方便大家使用~不妥之处望大家指教谢谢~!
集成创建文件,创建目录,删除单个文件,删除单个目录,删除文件夹里内容,复制文件,复制文件夹,剪切文件,剪切文件夹等操作方法. 特上传分享
本篇文章将全面解析Java IO工具类,帮助你理解并掌握其在实际开发中的应用。 一、Java IO基础 Java IO体系主要由流(Stream)组成,分为字节流和字符流两大类,分别处理字节数据和字符数据。字节流包括InputStream...
本篇将详细讲解标题为"完整的java文件读写工具类"所涉及的核心知识点,以及如何实现描述中提到的文件与目录管理功能。 1. **Java IO基础**: Java IO是Java标准库中的核心部分,提供了处理输入/输出流的类。在`...
import java.io.*; /** * FileUtil. Simple file operation class. * * @author BeanSoft * */ public class FileUtil { /** * The buffer. */ protected static byte buf[] = new byte[1024]; /**...
本文将深入探讨如何使用Java来处理ZIP文件,特别是针对标题所提及的“java 中 zip压缩文件解压工具类”。我们将讨论核心的Java API,如`java.util.zip`包中的类,并通过一个名为`CompressFileUtils`的工具类来展示...
这个“自己写的java中文件的操作工具类”显然提供了一种自定义的方式来管理和操作文件及目录。下面将详细介绍相关知识点: 1. **文件操作**:在Java中,`java.io`包提供了丰富的类来执行文件操作,如`File`类用于...
`java.nio`包下的`FileChannel`和`Files`类提供了更高级的文件操作,如映射内存到文件(MMap),以及异步文件操作。 例如,使用`Files`类移动文件: ```java Path sourcePath = Paths.get("sourceFile.txt"); Path...
Java IO文件操作是Java编程中不可或缺的一部分,它允许开发者与外部设备进行数据交换,包括文件、网络、内存等。在Java中,IO流是实现这一功能的核心机制。 首先,流是一个按照顺序组织的数据集合,从起点(源)...
这个"Java加载配置文件工具类"很可能是为了解决这个问题而创建的一个实用工具,帮助开发者更方便、高效地处理配置文件。配置文件通常以.properties或.xml格式存在,用于存储应用程序的参数、配置项等。 配置文件的...
文件操作工具类主要用于简化和标准化与文件交互的流程,包括但不限于文件的创建、读取、写入、追加、删除以及更复杂的IO操作。以下是对这些知识点的详细阐述: 一、文件创建 在编程中,我们通常会使用特定的API或...
在Java编程语言中,工具类(Utility Class)是包含各种静态方法的类,这些方法用于执行特定任务,如数据操作、文件处理、数学计算等。它们通常不包含实例变量,只提供静态方法服务,帮助开发者提高代码的复用性和...
最后,Java IO提供了许多实用工具类,如PrintStream方便输出调试信息,Files类提供了一系列静态方法处理文件操作,而CharArrayReader和CharArrayWriter则在内存中操作字符数组。 总之,Java IO处理类涵盖了从文件...
java io 文件上传工具类
在Java中,工具类通常被组织在各种包下,如`java.util`、`java.lang`、`java.io`等。下面将详细介绍一些重要的Java工具类及其功能。 1. `java.util.ArrayList` 和 `java.util.LinkedList`: - `ArrayList` 是基于...
本工具结合了Java IO操作和JXL库,实现了读取Excel文件并进行数据处理的功能,主要应用于国际化键值的替换。 首先,Java IO操作包括了基本的文件操作,如创建、读取、写入和删除文件。在Java中,我们通常使用`File`...
5. **IO工具类**: 包含文件和流的读写操作,如读取文件内容、写入文件、复制文件、关闭流等。例如,`FileUtils`提供了丰富的文件操作方法,而`IOUtils`则处理了输入/输出流的相关问题。 6. **网络工具类**: 可能...
标题中的“JPicus”是一款专为Java IO设计的分析工具,它主要帮助开发者们更好地理解和优化他们的IO操作。在Java编程中,IO操作是至关重要的,尤其是在处理大量数据输入输出时,性能优化往往能带来显著的系统提升。...
在Java编程语言中,文件复制是一项常见的操作,可以用于...无论是基础的字节流还是高效的NIO,它们都是Java处理文件操作的重要工具。在实际开发中,理解并掌握这些技术,对于提升程序的性能和可维护性都具有重要意义。