تصف هذه المقالة طرق قراءة الملفات وكتابةها في برمجة Java. شاركه للرجوع إليه ، على النحو التالي:
ما هو دور عمليات قراءة الملفات والكتابة في جافا؟
عند الإجابة على هذا السؤال ، يجب عليك أولاً التفكير في Java هي مجرد لغة ، أداة الاستخدام الخاصة بنا ، وبالتالي فإن الإجابة واضحة ، أي كتابة بيانات أجنبية مختلفة في ملف معين للتخزين ؛ أو اقرأ بياناتها من الملف لكي نستخدمها. تمامًا مثل عملية الفيلم التالية ، قم بتنزيل فيلم من موارد الشبكة وحفظه على جهاز الكمبيوتر الخاص بك (اكتب ملفًا) ، واستخدم المشغل لفتحه (اقرأ الملف) عندما تريد مشاهدته.
كيف تقرأ وكتابة الملفات في جافا؟
دعونا نفهم أولاً. هناك نوعان من التدفقات في جافا ، تدفقات البايت وتدفقات الأحرف. الفئتان الأساسيتان من تدفقات البايت هما inputstream و outputstream ؛ الفئتان الأساسيتان من تدفقات الأحرف هما القارئ والكاتب. يعني تدفق الملف المزعوم أنه لا يمكننا ترك الدفق عندما ندير الملف. من هذا يمكننا أن نرى أننا نريد استخدام فئة معينة يجب أن ترث واحدة من الفصول الأساسية الأربعة على النحو الوارد أعلاه. كل شيء في جافا فئة وكل شيء هو كائن. بطبيعة الحال ، سوف تفكر في أنواع عمليات الملفات:
الفصول الأربعة التالية المستخدمة مباشرة:
دفق البايت: FileInputStream و FileOutputStream
دفق الأحرف: Filereader و FilewRiter
من السهل العثور على الفصل. الباقي هو إيجاد طريقة لتنفيذها.
هناك خياران هنا ، والذي يتضمن كيفية اختيار الطريقة الصحيحة لقراءة الملفات وكتابةها؟
الاختلافات في معايير الاختيار:
اقرأ الملفات بالبايت ، والتي يتم استخدامها غالبًا لقراءة الملفات الثنائية ، مثل الصور والأصوات والصور والملفات الأخرى.
اقرأ الملفات في وحدات من الأحرف ، وغالبًا ما تستخدم لقراءة ملفات النص والأرقام وما إلى ذلك.
أما إذا كان سيتم استخدام المخزن المؤقت لتغليف دفق إدخال الملف ودفق الإخراج ، فإنه يعتمد على حجم الملف. إذا كانت قراءة ملفات كبيرة وكتابةها ، فسيتم تحديد دلو المخزن المؤقت لتوفير قراءة الملفات وكفاءة الكتابة.
فيما يلي مثال تطبيق بسيط:
1. استخدم دفق البايت لقراءة الملفات مباشرة:
ملاحظة: FileOutputStream (ملف ، صحيح) ؛ المعلمة الحقيقية في fileOutputStream (ملف ، صحيح) ؛ يشير إلى أن الملف الأصلي لم يتم الكتابة فوقه ، ويتم إضافة المحتوى مباشرة بعد الملف.
public class fileTest {static file file = new file ("d: /test.txt") ؛ public static void main (string [] args) {try {fileOutputStream out = new fileOutputStream (file ، true) ؛ string s = "hello ، world!/n" fileInputStream (file) ؛ // byte [] b = new byte [20] ؛ // in.read (b ، 0 ، b.length) ؛ // system.out.println (سلسلة جديدة (ب)) ه) {e.printstacktrace () ؛}}}2. استخدم تدفقات الأحرف لقراءة وكتابة الملفات مباشرة:
file file03 {file file static = ملف جديد ("d: /test.txt") ؛ public static void main (string [] args) {try {filewRiter fw = new filewRiter (file ، true) ؛ fw.write ("hello ، world!/n") ؛ fw.flush () ؛ fw.close () ؛ i = 0 ؛ // string s = "" ؛ // بينما ((i = fr.read ())! = -1) // {// s = s +(char) i ؛ //} // system.out.println (s) ؛} catch (استخدام الملفات القراءة والكتابة بعد تغليفها مع المخزن المؤقت:
1. اقرأ وكتابة الملفات بعد تغليف دفق البايت:
ملف ملف ثابت = ملف جديد ("d: /test.txt") ؛ public static void main (string [] args) {try {// fileOtputStream Out = new FileOutputStream (file ، true) ؛ bout.flush () ؛ // bout.close () ؛ fileInputStream in = new FileInputStream (file) ؛ bufferedInputStream bin = new BufferEdInputStream (in) ؛ byte [] b = new byte [15] e) {2. اقرأ وكتابة الملفات بعد تغليف دفق الأحرف:
file file03 {file file static = ملف جديد ("d: /test.txt") ؛ public static void main (string [] args) {try {// filewriter fw = new filewRiter (file ، true) ؛ bw.write ("Hello ، world!" + nextline) ؛ // bw.flush () ؛ // bw.close () ؛ fileReader fr = new fileReader (file) ؛ bufferedReader br = new BufferReader (fr) ؛ int i = 0 ؛ s+temp ؛} system.out.println (s) ؛} catch (fileNotfoundException e) {E.PrintStackTrace () ؛} catch (ioException e) {E.PrintStackTrace () ؛}}}آمل أن يكون هذا المقال مفيدًا لبرمجة Java للجميع.