您的位置:首页 > 编程语言 > Java开发

java文件、文件夹操作

2012-08-13 08:46 197 查看
import java.io.*;

public class FileHelper {

public static void main(String[] args) {
File file= new File("c:\\nihaoma.doc");
System.out.println(file.getName());
}
public static boolean delete(String fileName) {
File file = new File(fileName);
if(!file.exists()) {
System.out.println("删除文件失败:" + fileName + "不存在!");
return false;
} else {
if(file.isFile())
return FileHelper.deleteFile(fileName);
else
return deleteDirectory(fileName);
}
}
/**
* 删除单个文件
* @param fileName 要删除的文件的文件名
* @return 单个文件删除成功返回true,否则返回false
*/
public static boolean deleteFile(String fileName) {
File file = new File(fileName);
// 如果文件路径所对应的文件存在,并且是一个文件,则直接删除
if(file.exists() && file.isFile()) {
if(file.delete()) {
System.out.println("删除单个文件" + fileName + "成功!");
return true;
} else {
System.out.println("删除单个文件" + fileName + "失败!");
return false;
}
} else {
System.out.println("删除单个文件失败:" + fileName + "不存在!");
return false;
}
}
/**
* 删除目录及目录下的文件
* @param dir 要删除的目录的文件路径
* @return 目录删除成功返回true,否则返回false
*/
public static boolean deleteDirectory(String dir) {
// 如果dir不以文件分隔符结尾,自动添加文件分隔符
if(!dir.endsWith(File.separator))
dir = dir + File.separator;
File dirFile = new File(dir);
// 如果dir对应的文件不存在,或者不是一个目录,则退出
if((!dirFile.exists()) || (!dirFile.isDirectory())) {
System.out.println("删除目录失败:" + dir + "不存在!");
return false;
}
boolean flag = true;
// 删除文件夹中的所有文件包括子目录
File[] files = dirFile.listFiles();
for(int i = 0; i < files.length; i++) {
// 删除子文件
if(files[i].isFile()) {
flag = FileHelper.deleteFile(files[i].getAbsolutePath());
if(!flag)
break;
}
// 删除子目录
else if(files[i].isDirectory()) {
flag = FileHelper.deleteDirectory(files[i].getAbsolutePath());
if(!flag)
break;
}
}
if(!flag) {
System.out.println("删除目录失败!");
return false;
}
//删除当前目录
if(dirFile.delete()) {
System.out.println("删除目录" + dir + "成功!");
return true;
} else {
return false;
}
}
public static void write(String path, String content) {
String s = new String();
String s1 = new String();
try {
File f = new File(path);
if (f.exists()) {
System.out.println("文件存在");
} else {
System.out.println("文件不存在,正在创建...");
if (f.createNewFile()) {
System.out.println("文件创建成功!");
} else {
System.out.println("文件创建失败!");
}

}
BufferedReader input = new BufferedReader(new FileReader(f));

while ((s = input.readLine()) != null) {
s1 += s + "\n";
}
System.out.println("文件内容:" + s1);
input.close();
s1 += content;

BufferedWriter output = new BufferedWriter(new FileWriter(f));
output.write(s1);
output.close();
} catch (Exception e) {
e.printStackTrace();
}
}

public static void read(String file) {
String s = null;
StringBuffer sb = new StringBuffer();
File f = new File(file);
if (f.exists()) {
System.out.println("文件存在");

try {
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(f)));

while ((s = br.readLine()) != null) {
sb.append(s);
}
System.out.println(sb);
} catch (Exception e) {
e.printStackTrace();
}
} else {
System.out.println("文件不存在!");
}
}
public static   boolean  createPath(String path)     {
boolean  result  =   false ;
File dirFile  = null ;
try  {
dirFile  =   new  File(path);
if(dirFile.exists()){
System.out.println("文件夹已存在!");
return true;

}
if ( ! (dirFile.exists())  &&   ! (dirFile.isDirectory()))  {
boolean  creadok  =  dirFile.mkdirs();
if (creadok)  {
System.out.println( " ok:创建文件夹成功! " );
result  =   true;
} else  {
System.out.println( " err:创建文件夹失败! " );
}
}
} catch (Exception e)  {
e.printStackTrace();
return   false ;
}
return result;
}

private static final String inCode = "ISO-8859-1";
private static final String outCode = "UTF-8";

public static String readString(String inputString) {
try {
inputString = new String(inputString.getBytes(inCode), outCode);
//byte[] tempByte = inputString.getBytes(outCode);
//inputString = new String(tempByte, inCode);
//inputString = new String(inputString.getBytes(inCode));
} catch (UnsupportedEncodingException ex) {
throw new RuntimeException("Unsupported   encoding   type. ");
} finally {
return inputString;
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: