Java操作文件的三大示例分享(文本创建、删除、编辑)
下文笔者通过示例的方式讲述对文本的创建、删除、编辑的示例分享,如下所示
文本操作的实现思路
实现思路: 1.使用file对象中的方法即可创建文本 2.使用PrintWriter对象即可追加文件 3.使用file对象的delete方法即可删除文件例
//创建文本代码
/**
* 创建文件并追加内容
*
* @param fileName 要删除的文件的文件名(全路径)
* @param Content 内容
* @return
*/
public static void writeContentToTxt(String fileName,StringBuffer Content){
File file = null;
File folder = null;
FileWriter fw = null;
String path = System.getProperty("user.dir")+"\\test\\";
try {
//如果目录不存在,则目录
folder = new File(path);
if(!folder.exists() && !folder.isDirectory()) {
folder.mkdirs();
}
//如果文件存在,则追加内容;如果文件不存在,则创建文件
file = new File(fileName);
if(!file.exists()){
file.createNewFile();
}
fw = new FileWriter(file, true);
} catch (Exception e) {
e.printStackTrace();
}
PrintWriter pw = new PrintWriter(fw);
pw.println(Content);
pw.flush();
try {
fw.flush();
pw.close();
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
//追加内容到文本
public boolean saveText(list<BaseInfo> list ){
Date dt=new Date();
SimpleDateFormat matter1=new SimpleDateFormat("yyyyMMdd");
String date = matter1.format(dt);
boolean flag = true;
String filefullpath = Pub.getPropertiesValue("analysis", "dataPathDir")+"_.txt";
File anaylisisFile = new File (filefullpath);
for(BaseInfo baseInfo : list ){
StringBuffer suf = new StringBuffer();
suf.append(date);
suf.append("|&@");
suf.append(baseInfo.getOp_station());
suf.append("|&@");
suf.append(baseInfo.getIp());
suf.append("|&@");
suf.append(baseInfo.getMac());
suf.append("|&@");
suf.append(baseInfo.getPhone());
suf.append("|&@|");
logger.info("saveTxt suf:"+suf);
writeContentToTxt(suf,anaylisisFile);
}
return flag;
}
//删除文件
/**
* 删除文件,可以是文件或文件夹
*
* @param fileName
* 待删除的文件名
* @return 删除成功返回true,否则返回false
*/
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 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 = DeleteFileUtil.deleteFile(files[i].getAbsolutePath());
if (!flag)
break;
}
// 删除子目录
else if (files[i].isDirectory()) {
flag = DeleteFileUtil.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;
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


