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;
}
}
}
本文提供了一系列Java中用于文件操作的方法实现,包括文件创建、复制、删除等基本功能,并详细解释了每种方法的工作原理及注意事项。

被折叠的 条评论
为什么被折叠?



