انسخ رمز الكود كما يلي:
package com.pzq.io;
import java.io.BufferedReader;
import java.io.BufferedWriter;
استيراد java.io.File؛
import java.io.FileWriter;
import java.io.IOException;
استيراد java.io.StringReader؛
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.io.FileUtils;
/**
* أدوات تشغيل الملف
* @الإصدار 1.0 2013/07/16
*
*/
فئة عامة FileUtil {
/**
* انسخ الملفات أو الدلائل، وستكون الملفات قبل وبعد النسخ هي نفسها تمامًا.
* @param resFilePath مسار الملف المصدر
* @param distFolder المجلد الهدف
* تم طرح @IOException عند حدوث استثناء أثناء العملية
*/
ملف نسخ ثابت عام (String resFilePath، String distFolder)
يلقي IOException {
File resFile = new File(resFilePath);
File distFile = new File(distFolder);
إذا (resFile.isDirectory()) { // الدليل
FileUtils.copyDirectoryToDirectory(resFile, distFile);
} else if (resFile.isFile()) { // file
// FileUtils.copyFileToDirectory(resFile, distFile, true);
FileUtils.copyFileToDirectory(resFile, distFile);
}
}
/**
* حذف ملف أو دليل
* @param ملف targetPath أو مسار الدليل
* تم طرح @IOException عند حدوث استثناء أثناء العملية
*/
حذف الملف الثابت العام (String targetPath) يلقي IOException {
File targetFile = new File(targetPath);
إذا (targetFile.isDirectory()) {
FileUtils.deleteDirectory(targetFile);
} وإلا إذا (targetFile.isFile()) {
targetFile.delete();
}
}
/**
* اكتب السلسلة في الملف المحدد (في حالة عدم وجود المجلد الموجود في المسار الأصلي المحدد، سيتم إنشاؤه قدر الإمكان لضمان الحفظ الناجح!)
*
* @param res السلسلة الأصلية
*param filePath مسار الملف
* علامة نجاح @return
* @throwsIOException
*/
سلسلة منطقية عامة ثابتة (String res، String filePath) تطرح IOException {
علامة منطقية = صحيح؛
BufferedReader bufferedReader = null;
BufferedWriter bufferedWriter = null;
يحاول {
File distFile = new File(filePath);
إذا (!distFile.getParentFile().exists()) {// أنشئ عندما لا يكون موجودًا
distFile.getParentFile().mkdirs();
}
bufferedReader = new BufferedReader(new StringReader(res));
bufferedWriter = new BufferedWriter(new FileWriter(distFile));
char buf[] = new char[1024]; // المخزن المؤقت للأحرف
إنت لين؛
بينما ((len = bufferedReader.read(buf)) != -1) {
bufferedWriter.write(buf, 0, len);
}
bufferedWriter.flush();
bufferedReader. Close();
bufferedWriter. Close();
} قبض (IOException ه) {
العلم = خطأ؛
رمي ه.
}
علم العودة؛
}
/**
* الحصول على محتوى الملف المحدد
*
* @param res السلسلة الأصلية
*param filePath مسار الملف
* علامة نجاح @return
* @throwsIOException
*/
قائمة ثابتة عامة <String> getContentFromFile (String filePath) تطرح IOException {
List<String> lists = null;
يحاول {
إذا(!(ملف جديد(filePath).موجود())){
إرجاع ArrayList الجديد<String>();
}
lists = FileUtils.readLines(new File(filePath), Charset.defaultCharset());
} قبض (IOException ه) {
رمي ه.
}
قوائم العودة؛
}
/**
* إلحاق المحتوى بالملف المحدد
* @param filePath
* محتوياتparam
*/
public static void addContent(String filePath, List<String> content) يلقي IOException {
يحاول {
FileUtils.writeLines(new File(filePath), content);
} قبض (IOException ه) {
رمي ه.
}
}
}