全面的文件操作类
来源:互联网 发布:运城广电网络投诉电话 编辑:程序博客网 时间:2024/06/05 00:28
import java.io.*;
public abstract class FileOperation {
/*
* description :create file
* parmeter:file name
* return boolean
*/
public static boolean createFile(String fileStr)
{
File file = new File(fileStr);
try
{
if(file.exists())
{
return false;
}
File filetmp = new File(file.getParent());
if(!filetmp.exists())
{
if(!filetmp.mkdirs())
{
return false;
}
}
if(file.createNewFile())
{
return true;
}else
{
return false;
}
}catch(Exception e)
{
e.printStackTrace();
return false;
}
}
/*
* description: copy file
* parameter 1:sFile:source File
* parameter 2:tFile:target file
* return boole
*/
public static boolean copyFile(String sFile, String tFile)
{
File file1 = new File(sFile);
File file2 = new File(tFile);
if(!file1.isFile())
{
return false;
}
FileReader fr;
BufferedReader br;
FileWriter fw;
BufferedWriter bw;
String line="";
String content="";
try
{
if (!file1.exists())
{
return false;
}
if(!file2.exists())
{
File filetmp = new File(file2.getParent());
if(!filetmp.mkdirs())
{
return false;
}
}
fr= new FileReader(sFile);
br = new BufferedReader(fr);
line=br.readLine();
while(line!=null)
{
content=content+line+"/r/n";
line=br.readLine();
}
br.close();
fr.close();
fw=new FileWriter(file2);
bw = new BufferedWriter(fw);
bw.write(content);
bw.flush();
bw.close();
fw.close();
return true;
}catch(Exception e)
{
e.printStackTrace();
return false;
}
}
/*
* description: delete file or delete path
* parameter 1:fileStr:source File
* return boole
*/
public static boolean deleteFile(String fileStr) {
try{
File file = new File(fileStr);
if(!file.isFile())
{
return false;
}
if(file.delete())
{
return true;
}else
{
return false;
}
}catch(Exception e)
{
e.printStackTrace();
return false;
}
}
/*
* description: delete path
* parameter 1:fileStr:source File
* return boolean
*/
public static boolean deletePath(String fileStr) {
try{
File file = new File(fileStr);
if(!file.isDirectory())
{
return false;
}
File[] files=file.listFiles();
if(files.length==0)
{
file.delete();
}else
{
for(int i=0; i<files.length;i++)
{
if(files[i].isFile())
{
files[i].delete();
}
if(files[i].isDirectory())
{
deletePath(files[i].getPath());
}
}
file.delete();
}
return true;
}catch(Exception e)
{
e.printStackTrace();
return false;
}
}
/*
* description: delete file or delete path
* parameter 1:fileStr:source File
* return int:0:创建失败,1:创建成功,2:该文件或目录已经存在
*/
public static int mkDir(String fileStr) {
// TODO Auto-generated method stub
try
{
File file=new File(fileStr);
file.mkdirs();
System.out.print(file.mkdirs());
return 1;
}catch(Exception e)
{
e.printStackTrace();
return 0;
}
}
/*
* description: copy file
* parameter 1:sFile:source File
* parameter 2:tFile:target file
* return boole
*/
public static boolean moveFile(String sFile, String tFile) {
File file1 = new File(sFile);
File file2 = new File(tFile);
if(!file1.isFile())
{
return false;
}
FileReader fr;
BufferedReader br;
FileWriter fw;
BufferedWriter bw;
String line="";
String content="";
try
{
if (!file1.exists())
{
return false;
}
File filetmp = new File(file2.getParent());
if(!filetmp.exists())
{
if(!filetmp.mkdir())
{
return false;
}
}
fr= new FileReader(sFile);
br = new BufferedReader(fr);
line=br.readLine();
while(line!=null)
{
content=content+line+"/r/n";
line=br.readLine();
}
br.close();
fr.close();
file1.delete();
fw=new FileWriter(file2);
bw = new BufferedWriter(fw);
bw.write(content);
bw.flush();
bw.close();
fw.close();
return true;
}catch(Exception e)
{
e.printStackTrace();
return false;
}
}
/*
* description: copy file
* parameter 1:fileStr:source File
* return String
*/
public static String getParentPath(String fileStr) {
File file1 = new File(fileStr);
if(!file1.exists())
{
return "";
}else
{
return file1.getParent();
}
}
/*
* description: copy file
* parameter 1:oldFile:source File
* parameter 2:newFile:target File
* return boolean
*/
public static boolean renameFile(String oldFile,String newFile) {
File file1 = new File(oldFile);
File file2 = new File(newFile);
if(!file1.exists())
{
return false;
}else
{
if(file1.renameTo(file2))
{
return true;
}else
{
return false;
}
}
}
/*
* description: copy file
* parameter 1:fileStr:source File
* return String
*/
public static String readFile(String fileStr) {
// TODO Auto-generated method stub
File file = new File(fileStr);
if(!file.exists())
{
return "";
}
FileReader fr;
BufferedReader br;
try
{
fr = new FileReader(file);
br = new BufferedReader(fr);
String line = br.readLine();
String content = "";
while(line!=null)
{
content=content+line+"/r/n";
line = br.readLine();
}
br.close();
fr.close();
return content;
}catch(Exception e)
{
e.printStackTrace();
return "";
}
}
/*
* description: copy file
* parameter 1:fileStr:source File
* parameter 2:style 0:append; 1:rewrite
* parameter 2:content
* return String
*/
public static boolean writeFile(String fileStr,String content,int style) {
// TODO Auto-generated method stub
File file = new File(fileStr);
if(!file.exists() || (style!=1 && style!=0))
{
return false;
}
if(!file.renameTo(file))
{
System.out.print("文件正在被使用");
return false;
}
FileWriter fw;
BufferedWriter bw;
FileReader fr;
BufferedReader br;
try
{
fr = new FileReader(file);
br = new BufferedReader(fr);
String line=br.readLine();
String nContent="";
while (line!=null)
{
nContent=nContent+line+"/r/n";
line=br.readLine();
}
br.close();
fr.close();
fw = new FileWriter(file);
bw = new BufferedWriter(fw);
if(style==0)
{
nContent=nContent+content;
}
if(style==1)
{
nContent=content;
}
bw.write(nContent);
bw.flush();
bw.close();
fw.close();
return true;
}catch(Exception e)
{
e.printStackTrace();
return false;
}
}
}
- 全面的文件操作类
- ios----全面的文件管理操作讲解
- perl文件操作总结(全面讲解perl的文件操作)
- hosts文件的全面认识
- 别人博客写的java文件操作(太全面了-转帖过来)
- Oracle中表的非常全面的操作
- 全面的asp.net listbox控件操作
- 很全面的二叉树相关操作
- 在网上找到的javascript关于文件操作的使用方法,感觉比较全面,仅作整理使用
- 对报表.FRX文件的全面分析
- 控制文件的管理(比较全面)
- 非常全面的讲解Hosts文件
- 详细全面的 SpringBoot 文件上传
- 详细全面的Spring Boot文件上传
- SpringMVC比较全面的文件上传下载
- 文件的各种操作类
- 操作XML文件的类
- File类文件的操作
- 2010年01月读书单
- 有益的站点
- MTK系统下的J2ME运行平台设计
- 模仿IE另存为有所获------不容忽视的注释--saved from url
- 架构师之路
- 全面的文件操作类
- ubuntu解决音乐播放器的乱码问题
- [hadoop系列]Pig的安装和简单示例
- 做程序员也有2年多了,有点想转行了!
- 24个经典的无理头语句
- 确保已安装项目类型(.cspro)的应用程序
- [GXT]向Grid控件添加右键菜单.
- JS之Navitagor对象
- 手机网站开发必修课[2009总结版]