สามารถเข้าใจได้ดังนี้:
ก่อนอื่นรับไฟล์ที่จับ ไฟล์ = ไฟล์ใหม่ (); ไฟล์เป็นที่จับไฟล์ ทั้งสองมีการเชื่อมต่อเครือข่ายโทรศัพท์ คุณสามารถเริ่มโทรต่อไป
อ่านข้อมูลของ Party A ผ่านบรรทัดนี้: New FileInputStream (ไฟล์) ปัจจุบันข้อมูลนี้ได้รับการอ่านเป็นหน่วยความจำ ถัดไปจะต้องตีความว่าเป็นสิ่งที่ฝ่าย B เข้าใจได้
เนื่องจากคุณใช้ FileInputStream () จากนั้นจะต้องใช้วิธีการที่สอดคล้องกันเพื่อตีความข้อมูลที่โหลดในหน่วยความจำตอนนี้
หลังจากการตีความเสร็จสิ้นคุณต้องส่งออก แน่นอนว่ามันจะต้องถูกแปลงเป็นข้อมูลที่ IO สามารถรับรู้ได้ จากนั้นคุณต้องเรียกเมธอด bufferedReader () ที่อ่าน bytecode ในเวลาเดียวกันให้ใช้วิธีการ readline () ของ bufferedreader () เพื่ออ่านแต่ละบรรทัดของข้อมูลในไฟล์ txt
การคัดลอกรหัสมีดังนี้:
แพ็คเกจ com.campu;
นำเข้า Java.io.BufferedInputStream;
นำเข้า java.io.bufferedreader;
นำเข้า Java.io.File;
นำเข้า Java.io.FileInputStream;
นำเข้า Java.io.InputStreamReader;
นำเข้า Java.io.Reader;
คลาสสาธารณะ H20121012 {
-
* ฟังก์ชั่น: Java อ่านเนื้อหาของไฟล์ txt
* ขั้นตอน: 1: รับไฟล์ที่จับก่อน
* 2: การได้รับที่จับไฟล์ใช้เพื่อป้อนข้อมูลไบต์และต้องอ่านสตรีมอินพุตนี้
* 3: หลังจากอ่านสตรีมอินพุตคุณต้องอ่านสตรีมไบต์ที่สร้างขึ้น
* 4: เอาต์พุตของบรรทัดทีละบรรทัด readline ()
* หมายเหตุ: สิ่งที่ต้องพิจารณาคือสถานการณ์พิเศษ
* @param filepath
-
โมฆะคงที่สาธารณะ readtxtFile (String FilePath) {
พยายาม {
String encoding = "GBK";
ไฟล์ไฟล์ = ไฟล์ใหม่ (filePath);
if (file.isfile () && file.exists ()) {// ตัดสินว่าไฟล์มีอยู่จริง
inputStreamReader read = new InputStreamReader (
ใหม่ FileInputStream (ไฟล์), การเข้ารหัส); // พิจารณารูปแบบการเข้ารหัส
bufferedReader bufferedReader = new bufferedReader (อ่าน);
สตริง linetxt = null;
ในขณะที่ ((linetxt = bufferedreader.readline ())! = null) {
System.out.println (linetxt);
-
อ่าน. close ();
}อื่น{
System.out.println ("ไม่พบไฟล์ที่ระบุ");
-
} catch (Exception e) {
System.out.println ("ข้อผิดพลาดการอ่านเนื้อหาไฟล์");
E.PrintStackTrace ();
-
-
โมฆะคงที่สาธารณะหลัก (String argv []) {
String filepath = "L: //apache//htdocs//res//20121012.txt";
// "res/";
readtxtfile (filepath);
-
-