تشارك هذه المقالة طريقة Java لقراءة الملفات للرجوع إليها. المحتوى المحدد كما يلي
1. اقرأ محتوى الملف بواسطة Bytes
2. اقرأ محتوى الملف حسب الأحرف
3. اقرأ محتوى الملف حسب السطر
4. قراءة محتوى الملف بشكل عشوائي
الفئة العامة readfromfile { /*** قراءة الملفات بالبايت ، وغالبًا ما تستخدم لقراءة الملفات الثنائية ، مثل الصور والأصوات والصور والملفات الأخرى. */ public static void readFileByByTes (اسم ملف السلسلة) {file file = ملف جديد (اسم الملف) ؛ inputStream في = null ؛ حاول {system.out.println ("قراءة محتوى الملف بالبايت ، اقرأ بايت واحد في وقت واحد:") ؛ // اقرأ بايت واحد في وقت واحد في = fileInputStream جديد (ملف) ؛ int tempbyte ؛ بينما ((tempbyte = in.read ())! = -1) {system.out.write (tempbyte) ؛ } in.close () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ يعود؛ } جرب {system.out.println ("اقرأ محتوى الملف بالبايت ، اقرأ بايت متعددة في وقت واحد:") ؛ // اقرأ بايتات متعددة في بايت الوقت [] tempbytes = new byte [100] ؛ int byteread = 0 ؛ في = جديد fileInputStream (اسم الملف) ؛ readfromfile.showavailableTys (in) ؛ // اقرأ بايتات متعددة في صفيف البايت ، هو عدد البايتات التي تقرأ في وقت واحد ((byteread = in.read (tempbytes))! = -1) {system.out.write (tempbytes ، 0 ، byteread) ؛ }} catch (استثناء e1) {e1.printStackTrace () ؛ } أخيرًا {if (in! = null) {try {in.close () ؛ } catch (ioException e1) {}}}} / *** قراءة الملفات في الأحرف ، وغالبًا ما تستخدم لقراءة ملفات النص ، والأرقام ، وما إلى ذلك قارئ القارئ = فارغ ؛ حاول {system.out.println ("اقرأ محتوى الملف بالأحرف ، اقرأ بايت واحد في وقت واحد:") ؛ // اقرأ حرفًا واحدًا في قارئ الوقت = جديد inputStreamReader (FileInputStream جديد (ملف)) ؛ int tempchar ؛ بينما ((tempchar = reader.read ())! = -1) {// لنظام التشغيل Windows ، عندما يكون الشخصين /r /n معًا ، يمثلان خطًا جديدًا. // ولكن إذا تم عرض هاتين الحرفين بشكل منفصل ، فسيتم تغيير الخطوط مرتين. // لذلك ، كتلة /ص ، أو كتلة /ن. خلاف ذلك ، سيكون هناك العديد من العلامات الفارغة. if (((char) tempchar)! = '/r') {system.out.print ((char) tempchar) ؛ }} reader.close () ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ } جرب {system.out.println ("اقرأ محتوى الملف بالأحرف ، اقرأ بايت متعددة في وقت واحد:") ؛ // اقرأ أحرفًا متعددة في وقت واحد char [] tempchars = new char [30] ؛ int charread = 0 ؛ reader = new inputStreamReader (fileInputStream جديد (اسم الملف)) ؛ // اقرأ أحرفًا متعددة في صفيف الأحرف ، فإن CharRead هو عدد الأحرف التي تقرأها في وقت واحد ((charread = reader.read (tempchars))! = -1) {// أيضًا محظورة/r لا يتم عرضها إذا ((charread == tempchars.length) && (tempchars. } else {for (int i = 0 ؛ i <charread ؛ i ++) {if (tempchars [i] == '/r') {conter ؛ } آخر {system.out.print (tempchars [i]) ؛ }}}}}}} catch (استثناء e1) {e1.printstacktrace () ؛ } أخيرًا {if (reader! = null) {try {reader.close () ؛ } catch (ioException e1) {}}}} / ** * قراءة الملف في الوحدات السلوكية ، وغالبًا ما تستخدم لقراءة الملفات المنسقة مع وجود صف موجه * / public readfilebylines (اسم ملف السلسلة) {file file = ملف جديد (اسم ملف) ؛ BufferedReader Reader = NULL ؛ جرب {system.out.println ("اقرأ محتوى الملف في الوحدات السلوكية ، اقرأ سطرًا كاملاً واحدًا في وقت واحد:") ؛ reader = جديد bufferedReader (New FileReader (file)) ؛ سلسلة tempstring = فارغة ؛ خط int = 1 ؛ // اقرأ في سطر واحد في وقت واحد حتى يكون NULL نهاية الملف بينما ((tempString = reader.ReadLine ())! = null) {// show line number system.out.println ("line" + line + ":" + tempstring) ؛ Line ++ ؛ } reader.close () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ } أخيرًا {if (reader! = null) {try {reader.close () ؛ } catch (ioException e1) {}}}} / *** محتوى ملف قراءة عشوائي* / public readfileByRandomAccess (اسم fileName) {randomaccessfile randomfile = null ؛ حاول {system.out.println ("عشوائي قراءة قطعة من محتوى الملف:") ؛ // افتح دفق ملف وصول عشوائي ، Randomfile read-on فقط = new RandomAccessFile (اسم الملف ، "R") ؛ // طول الملف ، عدد البايتات الطويلة الطول = randomfile.length () ؛ // ابدأ موضع قراءة ملف int beghendex = (طول fileLengh> 4)؟ 4: 0 ؛ // انقل موضع بدء ملف القراءة إلى موضع stalenindex. randomfile.keek (beghnindex) ؛ بايت [] بايت = بايت جديد [10] ؛ int byteread = 0 ؛ // اقرأ 10 بايت في وقت واحد. إذا كان محتوى الملف أقل من 10 بايت ، فاقرأ البايتات المتبقية. // تعيين عدد البايتات التي تقرأ في وقت واحد إلى Byteread بينما ((byteread = randomfile.read (bytes))! = -1) {system.out.write (bytes ، 0 ، byteread) ؛ }} catch (ioException e) {E.PrintStackTrace () ؛ } أخيرًا {if (randomfile! = null) {try {randomfile.close () ؛ } catch (ioException e1) {}}}} / *** أظهر عدد البايتات المتبقية في دفق الإدخال* / private static void showavailabletes (inputStream in) {try {system.out.println ("عدد البناء في تدفق الإدخال الحالي هو:" + in.available () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ }} public static void main (string [] args) {string filename = "c: /temp/newtemp.txt" ؛ readfromfile.readfilebybytes (اسم الملف) ؛ ReadFromfile.ReadFileByChars (اسم الملف) ؛ readfromfile.readfilebylines (اسم الملف) ؛ readfromfile.ReadFileByRandomAccess (اسم الملف) ؛ }}5. إلحاق المحتوى إلى نهاية الملف
الفئة العامة AppendTofile { / ** * طريقة ملف إلحاق: استخدم RandomAccessFile * / public static void appendMethoda (اسم ملف السلسلة ، محتوى السلسلة) {try {// فتح دفق ملف وصول عشوائي ، وقراءة وكتابة عشوائي عشوائي = new randomaccessfile (filename ، "rw") ؛ // طول الملف ، عدد البايتات الطويلة الطول = randomfile.length () ؛ // انقل مؤشر ملف الكتابة إلى نهاية الملف. randomfile.keek (طول fileLenge) ؛ randomfile.writeBytes (المحتوى) ؛ randomfile.close () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ }} /** * الطريقة B إلحنى ملف: استخدم FILEWRITER * /public static void appendMethodb (اسم ملف السلسلة ، محتوى السلسلة) {try {// فتح filewriter ، المعلمة الثانية في المنشئ صحيح لكتابة الملف في نموذج filewriter constriter = new filewRiter (filename ، filename) ؛ Writer.write (المحتوى) ؛ الكاتب. } catch (ioException e) {E.PrintStackTrace () ؛ }} public static void main (string [] args) {string filename = "c: /temp/newtemp.txt" ؛ Content Content = "New Aspend!" ؛ // إلحاق ملف appendTofile.AppendMethoda (اسم الملف ، المحتوى) ؛ appendTofile.AppendMethoda (اسم الملف ، "Eppend End. /n") ؛ // إظهار محتوى الملف readfromfile.readfilebylines (اسم الملف) ؛ // إلحاق ملف appendTofile.AppendMethodB (اسم الملف ، المحتوى) ؛ appendTofile.AppendMethodb (اسم الملف ، "Eppend End. /n") ؛ // إظهار محتوى الملف readfromfile.readfilebylines (اسم الملف) ؛ }} ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.