1. تصنيف تدفقات IO
دفق الشخصية
قارئ
inputstreamreader (دفق العقدة)
BufferedReader (معالجة تدفقات)
الكاتب
OutputStreamWriter (دفق العقدة)
BufferedWriter (تدفقات المعالجة)
PrintWriter
تيار بايت
InputStream
FileInputStream (دفق العقدة)
BufferedInputStream (تدفقات المعالجة)
ObjectInputStream (تدفقات المعالجة)
printstream
OutputStream
FileOutputStream (دفق العقدة)
BuffereDoutputStream (تدفقات المعالجة)
ObjectOutputStream (تدفقات المعالجة)
دفق معالجة نقطة التوقف
RandomAccessFile
2. استخدام تدفقات IO
1. استخدام تدفقات التحويل
FileInputStream في = new FileInputStream (newFile ("")) ؛ readerReader = new inputStreamReader (in) ؛ // byte to fileOtputTreamout = new FileOutputStream (newFile ("")) ؛ كاتب الكاتب = New OutputStreamWriter (Out) ؛ // Charact to Byte2. تسلسل الكائن ، يحتاج الكائن إلى تنفيذ الواجهة التسلسلية
FileOutputStreamFileOutputStream = newOutputStream ("C: //users//lx//desktop//record.txt") ؛ ObjectOutputStreamObjectOutputStream = new ObjectOutputStream (fileOutputStream) ؛ ObjectOutputStream.writeObject (Object) ؛ // كتابة كائن إلى ملف file objectoututputstream.close () ؛ FileInputStreamFileInputStream = جديد fileInputStream ("C: //users//lx//desktop//record.txt") ؛ ObjectInputStreamObfectInputStream = new ObjectInputStream (fileInputStream) ؛ Object = ObjectInputStream.ReadObject () ؛ // اقرأ الكائن fileInputStream.lose () ؛3. تطبيق نقاط التوقف
تمتد نسخة الفئة العامة إلى مؤشر ترابط {// يمكنك استخدام MultiThread لتحقيق نسخ LongStart ؛ longend ؛ filesorce ؛ fileTargetDir ؛ publiccopy () {} publiccopy (LongStart ، End ، مكون الملف ، الملف الهدف) this.start = start ؛ this.end = نهاية ؛ this.Sorce = الفرز ؛ this.targetDir = TargetDir ؛}@Override PublicVoid Run () {try {randomaccessfilesouceraf = new randomaccessfile (sorce ، "r") ؛ RandomAccessFiLetArgetraf = new RandomAccessFile (newFile (targetdir ، sorce.getName ()) ، "rw") ؛ souceraf.keek (start) ؛ targetraf.seek (start) ؛ intlen = 0 ؛ byte [] bs = new byte [1024] ؛ longseek ؛ system.out.println (start+"--->"+end+this.get. souceraf.Read (bs))! =-1) {targetraf.write (bs ، 0 ، len) ؛ seek = souceraf.getFilePointer () ؛ // الحصول على موضع نقطة الإيقاف (seake == end) {break ؛}}} targetraf.close () ؛ souceraf.close () ؛4. استخدام تيارات البايت
الفئة العامة test_inputStream {// استخدم تدفقات البايت للحصول على محتوى ملف نصي ، ولكن المشكلات عرضة للحدوث/* // int قد يكون طول int خارج حدود الفراغ الثابت العام (string [] args) يلقي ioException {inputStream inputStream = newInputStream (ملف جديد (////users//lx/desktop//tesp) byte [] b = new byte [inputStream.available ()] ؛ inputStream.Read (B) ؛ سلسلة str = سلسلة جديدة (ب) ؛ system.out.println (str) ؛ }*. B = New Byte [2] ؛ StringBuffer Sbuffer = new StringBuffer () ؛ في حين null ؛ fileOutputStreamFileOutPutStream = null ؛ fileInputStream = جديد fileInputStream (sourceFile) ؛ fileTargetFile = ملف جديد (TargetDir ، sourceFile.getName ()) ! = -1) {fileOutputStream.write (B ، 0 ، Len) ؛}}5. استخدام تدفقات الشخصية المخبأة
PublicStatic Void Main (String [] args) يلقي iOexception {// تنفيذ دفق الأحرف المخزنة لكتابة ملفات inputstreamin = system.in ؛ readerreader = new inputstreamreader (in) ملف ("src/1.txt"))))) ؛ سلاسل = "" ؛ بينما ((s = br.readline ())! = null) {bw.write (s) ؛ bw.newline () ؛ bw.flush () تدفق !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!لخص
ما سبق هو كل محتوى هذه المقالة حول تحليل رمز المعرفة ذات الصلة ببث Java IO ، وآمل أن يكون مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى الموضوعات الأخرى ذات الصلة على هذا الموقع. إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!