الطريقة الأولى
/**
اقرأ الملفات بالبايت ، والتي يتم استخدامها غالبًا لقراءة الملفات الثنائية ، مثل الصور والأصوات والصور والملفات الأخرى.
بالطبع ، يمكنك قراءة السلاسل.
*/
/* يبدو أن بيئة الشبكة معقدة للغاية ، والأحرف التي يتم إرسالها في كل مرة تكون ثابتة طولها. بهذه الطريقة؟ */السلسلة العامة readString1 () {try {// fileInputStream يتم استخدامها لقراءة تدفقات البايت الخام مثل بيانات الصورة. لقراءة دفق الأحرف ، فكر في استخدام FileReader. FileInputStream instream = this.openfileInput (file_name) ؛ bytearrayoutputstream bos = جديد bytearrayoutputStream () ؛ Byte [] Buffer = New Byte [1024] ؛ طول int = -1 ؛ بينما (((طول = instream.read (buffer)! = -1) {bos.write (العازلة ، 0 ، طول) ؛ // شرح طريقة .write sdk هو كتابة بايت من byte buster stray stray at index to this. خذ حجم العازلة في وقت واحد؟الطريقة 2
// قال أحدهم إنه من الأفضل قراءة السلاسل من FileReader ، لذلك استخدم FileReader
// هل من غير الفعال بعض الشيء قراءة واحدة في وقت واحد؟ سلسلة ثابتة خاصة readString2 () {StringBuffer str = new StringBuffer ("") ؛ ملف الملف = ملف جديد (file_in) ؛ حاول {fileReader fr = new fileReader (file) ؛ int ch = 0 ؛ بينما ((ch = fr.read ())! =-1) {system.out.print ((char) ch+"") ؛ } fr.close () ؛ } catch (ioException e) {// todo acto catch block e.printstacktrace () ؛ System.out.println ("خطأ قارئ الملف") ؛ } إرجاع str.tostring () ؛}الطريقة الثالثة
/قراءة السلسلة بواسطة Byte/
/* أشعر شخصياً أن أفضل طريقة هي قراءة البايتات (اقرأ في وقت واحد) وقراءة البايتات. أليس من الأفضل قراءة البايتات بعد القراءة والترميز مرة واحدة*/
سلسلة ثابتة خاصة readString3 ()
{
string str = "" ؛ file file = new file (file_in) ؛ حاول {fileInputStream في = fileInputStream جديد (ملف) ؛ // الحجم هو طول السلسلة ، وقراءة int size = in.available () ؛ Byte [] Buffer = New Byte [size] ؛ in.read (العازلة) ؛ in.close () ؛ STR = سلسلة جديدة (Buffer ، "GB2312") ؛} catch (ioException e) {// todo acto catch block return null ؛ E.PrintStackTrace () ؛} return str ؛}
الطريقة 4
/inputStreamReader+BufferedReader يقرأ السلاسل ، فئة InputStreamReader هي جسر من دفق البايت إلى دفق الأحرف/
/* القراءة من خلال السطر هي طريقة جيدة لقراءة البيانات المنسقة المراد معالجتها*/سلسلة ثابتة خاصة readString4 () {int len = 0 ؛ StringBuffer str = new StringBuffer ("") ؛ ملف الملف = ملف جديد (file_in) ؛ حاول {fileInputStream هو = جديد fileInputStream (ملف) ؛ inputStreamReader ISR = جديد inputStreamReader (IS) ؛ BufferedReader في = جديد BufferedReader (ISR) ؛ خط السلسلة = فارغ ؛ بينما ((line = in.ReadLine ())! = null) {if (len! = 0) // handle line breaks problem {str.append ("/r/n"+line) ؛ } آخر {str.append (line) ؛ } len ++ ؛ } in.close () ؛ is.close () ؛ } catch (ioException e) {// todo acto catch block e.printstacktrace () ؛ } إرجاع str.tostring () ؛}يجب أن تؤخذ الطريق خطوة بخطوة. تذكر المسار الذي سارته وعدم ارتكاب نفس الأخطاء مرة أخرى. هذا نمو حقيقي! مرحبا بكم لتقديم المشورة والتبادلات.
الطريقة أعلاه لقراءة الملفات في سلاسل في جافا هي كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.