การคัดลอกรหัสมีดังนี้:
แพ็คเกจ com.teligen.eos.telecode;
นำเข้า Java.io.File;
นำเข้า java.io.filewriter;
นำเข้า java.io.ioException;
นำเข้า java.util.date;
-
* เขียนข้อมูลบันทึกลงในไฟล์ที่ระบุ
-
ชั้นเรียนสาธารณะ writelogutil {
สตริงคงที่ส่วนตัว rootpath = "d: // logs //";
-
* เขียนข้อมูลไปยังไฟล์
* @param msg
-
โมฆะสาธารณะคงที่ writemsgtofile (String msg) {
// ลบไฟล์ก่อนหน้า
deloldfile ();
fileWriter fileWriter = null;
พยายาม {
fileWriter = ใหม่ fileWriter (getFileName (), true);
วันที่วันนี้ = วันที่ใหม่ ();
String time = string.valueof (วันนี้. getHours ()) + ":" + string.valueof (วันนี้ getMinutes ()) + "" + string.valueof (วันนี้. getSeconds ());
filewriter.write ("#" + time + "# [" + msg + "]" + "/r/n");
fileWriter.flush ();
} catch (ioexception e) {
System.out.println ("#### บันทึกการเขียนไปยังไฟล์ยกเว้นไฟล์ #### >>>" + e.getMessage ());
E.PrintStackTrace ();
} ในที่สุด {
พยายาม {
fileWriter.close ();
} catch (ioexception e) {
System.out.println ("### ปิดข้อยกเว้นสตรีมสำหรับการเขียนบันทึก ### >>" + e.getMessage ());
E.PrintStackTrace ();
-
-
-
-
* ลบไฟล์บันทึกก่อนหน้า
-
โมฆะคงที่ส่วนตัว deloldfile () {
วันที่วันนี้ = วันที่ใหม่ ();
int เดือน = วันนี้ getMonth ()+1;
เดือน = เดือน - 2;
ถ้า (เดือน == -1) เดือน = 11;
ถ้า (เดือน == 0) เดือน = 12;
String delpath = rootpath + string.valueof (เดือน) + "//";
โฟลเดอร์ไฟล์ = ไฟล์ใหม่ (delpath);
if (folder.exists ()) {
ไฟล์ [] files = folder.listfiles ();
สำหรับ (int i = 0; i <files.length; i ++) {
ไฟล์ [i] .delete ();
-
-
-
-
* รับไฟล์ที่จะบันทึก
* @return ชื่อไฟล์
-
สตริงคงที่ส่วนตัว getFileName () {
วันที่วันนี้ = วันที่ใหม่ ();
String filename = string.valueof ((วันนี้. getYear () + 1900)) + string.valueof ((วันนี้ getMonth () + 1)) + string.valueof (วันนี้ getDate ()) + ".log";
// สร้างไดเรกทอรี
โฟลเดอร์ไฟล์ = ไฟล์ใหม่ (rootpath + string.valueof ((วันนี้ getMonth () + 1)) + "//");
if (! folder.exists ()) {
Folder.mkdirs ();
-
// สร้างไฟล์
ไฟล์ไฟล์ = ไฟล์ใหม่ (ชื่อไฟล์);
if (! file.exists ()) {
พยายาม {
file.createnewfile ();
} catch (ioexception e) {
System.out.println ("#### ข้อยกเว้นไฟล์บันทึกใหม่ #### >>>" + e.getMessage ());
E.PrintStackTrace ();
-
-
filename = rootpath + string.valueof ((วันนี้. getMonth () + 1)) + "//" + ชื่อไฟล์;
คืนชื่อไฟล์;
-
-
* วิธีหลักที่ใช้ในการทดสอบ
-
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {
// getFilename ();
String testString = "บันทึกการเขียน: 71FABB7890D2CC0D267FBD84F409618C0303BC597B92444C324947BDE4B1C0B4CB08C33FC461F7BADD088535DAAE42D8D7D7D7D08D7D08D08D08D08D72 337A2D18CE34FCDC137B7CBD84 F409618C03038FEAEC79F79C2F58BD84F409618C03038FEAEC79F79C2F58BD84F409618C03038FEAEC79F79C2F581790ACB3CB3CB3CB303 F2EDE5AC3C8FAF2FD8A686E ";
writemsgtofile (teststring);
// deloldfile ();
-
-