ตัวอย่างของบทความนี้บอกวิธีการของ Java อ่านไฟล์กำหนดค่าคุณสมบัติ แบ่งปันสำหรับทุกคนสำหรับการอ้างอิงของคุณ การวิเคราะห์เฉพาะมีดังนี้:
ในสองวันที่ผ่านมาการทำโครงการ Java โดยใช้ไฟล์แอตทริบิวต์และการตรวจสอบข้อมูลออนไลน์ สามวิธีได้รับการปรับให้ดีที่สุดเพื่อให้ได้เอฟเฟกต์ที่ดีที่สุด
startdate = 2011-02-07
Totalweek = 25
วิธีที่ 1:
ระดับสาธารณะ stweek {สตริงส่วนตัวคงที่ startdate = null; FileInputStream (FilePath); ไฟล์. " +" โปรดตรวจสอบให้แน่ใจว่า db.properties อยู่ในเส้นทางที่ระบุโดย classpath ");}}} สตริงคงที่สาธารณะ getStartDate () {ถ้า (tartdate == null); returndate; {ถ้า (startDate == null) โหลด ();
แม้ว่าวิธีการข้างต้นจะได้รับเนื้อหาไฟล์การกำหนดค่า แต่ปัญหาที่ใหญ่ที่สุดคือการวางตำแหน่งของเส้นทางไฟล์ (นั่นคือค่า FilePath ในรหัส) มันกำลังทำงานอยู่ ได้รับรายงาน
วิธีที่สอง:
ระดับสาธารณะ stweek {inputstream คือ = null; ลอง {dbprops.load (IS);} catch (Exception e) {system.errr.println ("ไม่สามารถอ่านไฟล์แอตทริบิวต์" + "โปรดตรวจสอบให้แน่ใจว่า db.properties อยู่ในเส้นทางที่ระบุโดย classpath"); } Public String getStartDate () {String SD = NULL; Totalweek;}}
ข้อได้เปรียบของวิธีนี้คือไม่จำเป็นต้องชี้ให้เห็นเส้นทางที่แน่นอนของไฟล์การกำหนดค่าและไม่ว่าจะอยู่ในแพ็คเกจอื่นหรือโครงการทั้งหมดถูกย้ายไปที่การก่อตัวของดิสก์อื่น ๆ รหัสยังสามารถทำงานได้ตามปกติ ปัญหาของไฟล์ยังคงมีข้อบกพร่องที่สำคัญในวิธีนี้เนื่องจากเรามักจะต้องการกำหนดค่าไฟล์เป็นแคชในหน่วยความจำเพื่อให้คุณต้องเข้าถึงฮาร์ดดิสก์เมื่อคุณอ่านทุกครั้งที่คุณอ่าน (เยี่ยมชมการดำรงอยู่ ของการดำรงอยู่มากเกินไป) . GetResourceaseSream ("/date.properties");
วิธีที่สาม:
นำเข้า Java.io.InputStream; นำเข้า Java.util.properties; == null || totalweek == null) {inputstream คือ = stweek.class.getResourceaseStream ("/date.properties"); dbprops.getProperty ("totalweek");} catch (Exception e) {system.err.println ("ไม่สามารถอ่านไฟล์แอตทริบิวต์ได้" + "" "เส้นทางที่ระบุโดย Asspath Middle");}}} สาธารณะคงที่ String getStartDate () {ถ้า startDate == null) โหลด ();
วิธีนี้ไม่เพียง แต่แคชเนื้อหาของไฟล์ แต่ยังโหลดเนื้อหาของไฟล์การกำหนดค่าไปยังหน่วยความจำโดยอัตโนมัติ ที่คุณต้องการ ไม่มีแคชคุณไม่จำเป็นต้องกังวลเกี่ยวกับมัน หมายเหตุ: (ไม่มีส่วนเกี่ยวข้องกับข้างต้นการทดสอบของคุณ)
หวังว่าบทความนี้จะเป็นประโยชน์กับการออกแบบโปรแกรม Java ของทุกคน