- 浏览: 126475 次
- 来自: ...
最近访客 更多访客>>
文章分类
最新评论
-
dwangel:
给messageSource设置属性
<property ...
Spring i18n的better practice(相对于appfuse) -
dwangel:
spring 的message tag有一个属性text,可以 ...
Spring i18n的better practice(相对于appfuse) -
sn201:
awk高级篇
有问题啊!有问题!有问题!有问题!有问题!
i ...
awk文本处理总结(入门,中级,高级) -
happy_javaboy:
...
Log4j日志管理系统简单使用说明
package com.xgll.util;
/**
* <p>Title: </p>
* <p>Description: 主要提供文件和目录操作的一些常用的方法。</p>
* <p>Copyright: Copyright (c) 2006</p>
* <p>Company: C-Platform</p>
* @author wujiaqian
* @version 1.0
*/
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
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 TestUtil {
public TestUtil() {
}
/**
* 新建目录
* @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) {
}
return txt;
}
/**
* 多级目录创建
* @param folderPath 准备要在本级目录下创建新目录的目录路径 例如 c:myf
* @param paths 无限级目录参数,各级目录以单数线区分 例如 a|b|c
* @return 返回创建文件后的路径 例如 c:myfac
*/
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){
}
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) {
}
}
/**
* 有编码方式的文件创建
* @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) {
}
}
/**
* 删除文件
* @param filePathAndName 文本文件完整绝对路径及文件名
* @return Boolean 成功删除返回true遭遇异常返回false
*/
public boolean delFile(String filePathAndName) {
boolean flag = false;
try {
String filePath = filePathAndName;
File myDelFile = new File(filePath);
if(myDelFile.exists()){
myDelFile.delete();
flag = true;
}else{
flag = false;
}
}
catch (Exception e) {
}
return flag;
}
/**
* 删除文件夹
* @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) {
}
}
/**
* 删除指定文件夹下所有文件
* @param path 文件夹完整绝对路径
* @return
* @return
*/
public boolean delAllFile(String path) {
boolean flag = false;
File file = new File(path);
if (!file.exists()) {
return flag;
}
if (!file.isDirectory()) {
return flag;
}
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]);//再删除空文件夹
flag = true;
}
}
return flag;
}
/**
* 复制单个文件
* @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) {
}
}
/**
* 复制整个文件夹的内容
* @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) {
}
}
/**
* 移动文件
* @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);
}
/**
* 读取文本文件内容
* @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();
}catch(IOException es){
st = "";
}
return st;
}
}
发表评论
-
浅析Java语言中两种异常的差别
2006-08-24 21:08 605Java提供了两类主要 ... -
JavaMail API详解
2006-09-04 17:12 582摘要:JavaMail API是读 ... -
JAVA操作Excel电子表格
2006-09-09 11:44 749只要有表格,就会有Microsoft Excel,用Micr ... -
让POI架起Java与Office之间的桥梁
2006-09-09 11:45 651本文将阐述如何用POI来 ... -
Java中正则表达式使用方法详解
2006-09-19 19:31 798如果你曾经用过Perl或任 ... -
在项目中,用到的关于时间操作的一些常用方法!!
2006-09-19 19:32 717package com.hoten.util; impor ... -
db4o 连接池
2006-09-28 17:19 736这几天花了点时间弄了个 db4o 连接池,比较简单,连接池原型 ... -
java的md5加密类
2006-09-29 11:35 675MD5算法是将数据进行不可逆加密的算法有较好的安全性,在国内如 ... -
代码动态生成利器ASM
2006-11-04 11:05 908作者:薛谷雨 作 ... -
native2ascii用法
2006-11-21 14:54 679中文资源转换成utf-8编码 native2ascii -en ... -
编写安全的Java代码
2006-12-29 20:47 640作者:Radic 来 ... -
常用 java File 操作类
2007-06-14 16:52 719业务常用,供大家学习: ... -
JAVA之精髓IO流
2007-06-20 21:49 468一. Input和Output 1. stream ... -
【此帖已结】常用数据库JDBC连接写法(整理)
2007-09-14 09:07 673为了方便大家查找,整 ... -
util包中Calendar和Properties用法:
2007-09-14 09:43 476import java.util.Calendar;impor ... -
JSP动作
2007-10-19 12:57 693JSP动作利用XML语法格式的标记来控制Servlet引擎的行 ... -
GBK和UTF-8的区别
2007-11-21 17:35 662GBK的文字编码是双字节来表示的,即不论中、英文字符均使用双字 ... -
Java多线程编程详解
2008-06-07 13:42 693一:理解多线程 多线程是这样一种机制,它允许在程序中并发执行 ... -
判定文件编码或文本流编码的方法
2008-06-16 14:44 875在程序中,文本文件经常用来存储标准的ASCII码文本,比 ... -
Content-Disposition的使用和注意事项
2008-10-30 16:07 952Content-Disposition的使用和注意事项 [转 ...
相关推荐
Linux 操作系统文件和目录操作报告 Linux 操作系统中的文件类型可以...在 Linux 操作系统中,文件操作命令非常丰富,包括 touch、cp、mv、rm、cat、find 等命令。这些命令可以帮助用户高效地管理和操作文件和目录。
本文将深入介绍Linux文件系统的结构、常用文件和目录的操作命令,帮助读者快速上手。 #### 二、Linux文件系统结构 Linux采用了层次化的文件系统结构,所有文件和目录都从根目录`/`开始。以下是一些常见的目录及其...
这篇博文主要探讨了如何使用Java进行常见的文件操作,包括创建、读取、写入、删除文件以及处理目录等。以下是对这些知识点的详细说明: 1. **创建文件**: 在Java中,我们可以使用`java.io.File`类来创建文件。...
本文档主要介绍了PHP在文件操作和目录操作方面的常用技术。PHP是一种广泛使用的开源服务器端脚本语言,尤其适合于网页开发。文件和目录操作是PHP中非常重要的内容之一,尤其在处理文件上传下载、文件信息获取以及...
在Java编程中,文件和目录的操作是至关重要的基础技能,特别是在处理数据存储、文件系统交互以及应用程序资源管理等方面。以下是对这些基本操作的...在实际开发中,还需要注意异常处理,确保文件操作的健壮性和安全性。
2. **熟悉Linux下的目录和文件命令**:学习并实践Linux系统中常用的文件和目录操作命令,包括但不限于`cd`(切换目录)、`ls`(列出目录内容)、`mkdir`(创建目录)、`pwd`(显示当前工作目录)、`find`(查找文件...
在PHP编程语言中,文件操作是至关重要的一个环节,它涉及到读取、写入、创建、删除、移动和复制文件等任务。这篇博客主要探讨了PHP中的文件操作函数,通过学习这些函数,开发者可以高效地处理服务器上的文件系统。...
文件目录常用操作的类
本文将深入探讨C#中用于目录和文件操作的一些常用类,以及如何利用这些类实现基本的文件系统操作。 首先,C#中的`System.IO`命名空间提供了丰富的类来处理文件和目录。在`System.IO`中,`Directory`和`File`类是最...
`FileApi.cpp`和`FileApi.h`可能包含自定义的文件操作函数库。这些函数可能封装了上述的一些操作,提供了更简洁的接口供开发者使用。例如,可能有一个`getFileSize`函数,接受文件路径并返回文件大小;或者一个`...
一些文件的常用操作 writeDate(Context context,InputStream is, File file, String charSet) getDataFromAssets(Context context,String path, String charSet) getText(Context context, String path, String ...
本文将深入探讨C#中经典的文件操作方法,包括文件读写、复制、删除、移动以及目录创建与删除等关键功能。 ### 文件读写 C#提供了多种类库来实现文件读写操作,其中`StreamWriter`和`StreamReader`是最常用的一对。...
封装了包括所有常用的文件操作方法如:读文件,写文件,查看文件夹大小,树状展示文件夹中文件目录,拷贝文件,复制文件,删除文件,创建文件,递归删除文件夹中文件,获取指定文件属性
根据给定文件的信息,我们可以详细地探讨实验四中所涉及的Linux文件与目录操作命令的知识点,包括实验的目的、常用命令及其应用场景、实验的具体内容以及思考题的答案。 ### 实验目的 1. **掌握文件与目录操作的...
Ubuntu 常用文件操作命令 Ubuntu 操作系统中,文件操作命令是非常重要的一部分。下面将对 Ubuntu 中常用的文件操作命令进行详细讲解。 1. 权限修改命令:chmod 在 Ubuntu 中,权限修改命令使用 chmod 命令来实现...
### C#中文件和目录相关操作:DirectoryInfo 类与 FileInfo 类 在.NET Framework中,`DirectoryInfo` 和 `FileInfo` 类提供了丰富的API用于文件和目录的操作。这些类封装了文件系统对象(文件或目录),并提供了...
在PHP中,获取目录下的所有文件及子目录是一个非常基础而常用的操作,尤其在文件管理系统或者需要遍历...在实现文件操作时,应该始终对输入进行验证,确保其符合预期的格式,避免执行恶意代码或访问未经授权的文件。
内容主要为:文件和目录相关操作,分为十大类 1. 查看目录 2. 目录操作相关 3. 文件创建和删除 4. 拷贝和移动文件 5. 查看文件内容 6. 文件查找 7. 文件归档命令 8. 文件权限相关 9. vi 编辑器的使用 10. 其他内容...