以前写的一个java操作文件的常用方法,包括建立目录,删除目录,建立文件,删除文件,读取文件内容等
package com.life.common;
import java.io.*;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
/**
* <p>Title: 文件操作</p>
* <p>Description:用于文件操作,如建立目录,删除目录,建立文件,删除文件等</p>
*
*/
public class PFile {
private static File f=null;
/**
* 建立目录,给定目录路径,一层层判断该目录是否存在,不存在则建立,再判断下一目录
* @param sPath 要创建的目录
* @return 建立成功返回空,否则返回错误信息
*/
public static String CreateFolder(String sPath){
String sErr="";
String sTmpPath;
String[] aP;
sTmpPath=sPath;
sTmpPath=sTmpPath.replaceAll("\\\\","/");
if (sTmpPath.indexOf("/")==-1) {
sErr="路径错误!";
}
else{
aP=sPath.split("/");
try{
for (int i=0;i<aP.length ;i++ ) {
sTmpPath="";
for (int j=0;j<=i;j++){
sTmpPath+=aP[j] +"/";
}
f=new File(sTmpPath);
if (!f.exists()){
f.mkdir();
}
}
}
catch(Exception e){
sErr=e.getMessage();
}
}
return sErr;
}
/**
* 删除目录,给定目录路径,不存在则返回错误,否则删除此目录,
*@param sPath 要删除的目录
*@return 出错返回出错信息, 成功返回空
*/
public static String DeleteFolder(String sPath){
String sErr="";
f=new File(sPath);
try{
if (f.exists()) {
f.delete();
}
else{
sErr="要删除的目录不存在!";
}
}
catch(Exception e){
sErr=e.getMessage();
}
return sErr;
}
/**
* 新建文件,并向文件中写入文件内容
*@param sFilePath 要生成的文件路径,文件名包括在其中
*@param sContent 要写入文件的内容
*@return 操作成功返回空,否则返回出错信息
*/
public static String CreateFile(String sFilePath,String sContent){
String sErr="";
try{
FileWriter fw=new FileWriter(sFilePath);
fw.write(sContent);
fw.close();
}
catch(Exception e){
sErr=e.getMessage();
}
return sErr;
}
/**
* 删除文件,删除指定路径的文件
* @param sFilePath 要删除的文件的路径
* @return 操作成功返回空,否则返回错误信息
*/
public static String DeleteFile(String sFilePath){
String sErr="";
try{
f=new File(sFilePath);
if (f.exists()){
f.delete();
}
else{
sErr="文件不存在";
}
}
catch(Exception e){
sErr=e.getMessage();
}
return sErr;
}
/**
* 生成静态页面
* @param filepath 包含文件名的文件路径
* @param url 要生成静态页面的路径
* @return 返回执行的错误信息,成功返回空
*/
public static String createHTML(String filepath,String url){
String errmsg="";
try {
URL u=new URL(url);
//System.out.println(url);
URLConnection uc=u.openConnection();
BufferedReader br=new BufferedReader(new InputStreamReader(uc.getInputStream()));
String templine="";
StringBuffer sb=new StringBuffer();
while((templine=br.readLine())!=null){
sb.append(templine+"\n");
}
//System.out.println("sb:"+sb);
errmsg=PFile.CreateFolder(filepath.substring(0,filepath.lastIndexOf("/"))+"/");
errmsg+=CreateFile(filepath,sb.toString());
br.close();
} catch (Exception e) {
System.out.println("错误信息:"+e.toString());
errmsg=e.toString();
}
return errmsg;
}
/**
*TODO 读取文件内容
*@param sFilePath 要读取的文件
*@return 返回读取的文件内容
*/
public static String ReadFile(String sFilePath) throws IOException{
String s="";
File f=new File(sFilePath);
if (f.exists())
{
FileReader fr = new FileReader(sFilePath);
BufferedReader br = new BufferedReader(fr);
StringBuffer dd=new StringBuffer();
String sLine = br.readLine(); //读取一行数据
while(sLine != null) //判断读取得的数据是否为null
{
dd.append(sLine+"\n");
sLine = br.readLine(); //读取一行数据
if (sLine==null) break;
}
br.close(); //关闭BufferedReader对象
fr.close(); //关闭档案
s=dd.toString();
}
return s;
}
/**
* 重命名文件
* @param oldname 旧文件名
* @param newname 新文件名
* @return 操作成功返回空,否则返回错误信息
*/
public static String RenameFile(String oldname,String newname){
String sErr="";
try{
f=new File(oldname);
if (f.exists()){
f.renameTo(new File(newname));
}
else{
sErr="文件不存在";
}
}
catch(Exception e){
sErr=e.getMessage();
}
return sErr;
}
}