KnowledgeCity

Java المتقدمة: الإدخال والإخراج

سترى في هذه الدروس كيفية القراءة والكتابة من وإلى نظام الملفات.

سترى في هذه الدروس كيفية القراءة والكتابة من وإلى نظام الملفات. يتم استخدام واجهة برمجة التطبيقات للملفات القديمة عبر العديد من المشاريع والأطر والمكتبات القديمة. على الرغم من عمرها، لم يتم إهمال واجهة برمجة التطبيقات القديمة ولا يزال بإمكانك استخدامها مع أي من أحدث إصدارات جافا.

ستتعرف على كيفية قيام java.nio.file.Path بتنفيذ كل شيء يمكن لـ java.io.File تنفيذه وبطريقة أفضل بشكل عام، باستخدام الفئات الجديدة التي يمكنها دعم الروابط الرمزية، وسمات الملفات المناسبة، والبيانات الوصفية، وقوائم التحكم في الوصول والمزيد. عند العمل مع الملفات أو المسارات، من المحتمل أن تستخدم فئة java.nio.file.Files وسنغطي العديد من الدوال الشائعة التي تعمل على الملفات والدلائل. يشمل الإدخال والإخراج مجموعة واسعة من المصادر ونحن بحاجة بطبيعة الحال إلى التعامل مع محتويات ملف الأحرف والبايت. مكتبة NIO مليئة بكل ما نحتاجه لإنجاز أي متطلبات I / O التي قد نواجهها.

أهداف الدورة التدريبية:

  • وصف مكتبة NIO الجديدة
  • فهم كيفية القراءة والكتابة في نظام الملفات
  • شرح كيفية إنشاء ملفات مؤقتة

المهارات التي ستتعلمها:

  • قراءة وكتابة الملفات
  • تدفق المحتوى
  • إدارة نظام الملفات

المدرّب: Scott Stanlick

المدّة: 9m · 3 دروس
المستوى: Advanced
اللغة: العربية

المهارات التي ستكتسبها

إدخال/إخراج الملفمعالج الإدخال والخروججافا 11التصوير المتقدم من جافاواجهات برمجة تطبيقات جافاالإدخال/الإخراج غير المحظور (جافا)

ما ستتعلمه

  • وصف مكتبة Java NIO وقدراتها في التعامل مع الملفات
  • القراءة من نظام الملفات والكتابة إليه باستخدام Java I/O
  • استخدام java.nio.file.Path بديلاً عن واجهة برمجة java.io.File القديمة
  • التعامل مع فئة java.nio.file.Files لعمليات الملفات والمجلدات الشائعة
  • معالجة البيانات الوصفية للملفات وسماتها وقوائم التحكم في الوصول (ACLs) والروابط الرمزية
  • إنشاء ملفات مؤقتة باستخدام مكتبة NIO

النقاط الرئيسية

  • واجهة برمجة java.io.File القديمة لم تُهمَل وتعمل مع أحدث إصدارات Java.
  • يُنجز java.nio.file.Path كل ما يُنجزه java.io.File ويفعله بشكل أفضل عموماً، مع دعم الروابط الرمزية وسمات الملفات والبيانات الوصفية وقوائم التحكم في الوصول (ACLs).
  • توفّر فئة java.nio.file.Files وظائف شائعة كثيرة تعمل على الملفات والمجلدات.
  • يغطي الإدخال والإخراج نطاقاً واسعاً من المصادر، مما يستلزم التعامل مع محتوى الملفات بالحروف والبايتات معاً.
  • يغطي المقرر قراءة الملفات والكتابة إليها والتعامل مع بياناتها الوصفية.

الأسئلة الشائعة

ما الذي يغطيه هذا المقرر؟

يغطي كيفية القراءة والكتابة من وإلى نظام الملفات في Java، بما في ذلك مكتبة NIO، وفئتَا java.nio.file.Path وjava.nio.file.Files، وبيانات الملفات الوصفية، وإنشاء الملفات المؤقتة. وتشمل الدروس: القراءة والكتابة والبيانات الوصفية للملفات.

هل يُدرِّس هذا المقرر واجهة برمجة الملفات القديمة أم مكتبة NIO الأحدث؟

كلتيهما. يشرح واجهة برمجة الملفات القديمة التي لا تزال صالحة للاستخدام وغير مُهمَلة، مع توضيح كيف يؤدي java.nio.file.Path ومكتبة NIO الأعمال ذاتها بشكل أفضل عموماً، مع دعم الروابط الرمزية وسمات الملفات والبيانات الوصفية وقوائم التحكم في الوصول (ACLs).

ما المهارات التي سأكتسبها من هذا المقرر؟

ستكتسب مهارات في إدخال/إخراج الملفات، ومعالجة الإدخال/الإخراج، وJava 11، وJava Advanced Imaging، وواجهات برمجة تطبيقات Java، والإدخال/الإخراج غير المتزامن في Java.

ما أهداف التعلم؟

الأهداف هي: وصف مكتبة NIO الجديدة، وفهم كيفية القراءة والكتابة من وإلى نظام الملفات، وشرح كيفية إنشاء الملفات المؤقتة.

النص

النص

أهلًا، ومرحبًا بعودتك. سكوت ستانليك هنا. في هذه الدروس، سنلقي نظرة على ملف الإدخال / الإخراج. وسنرى كيف نقرأ الملفات، كتابة الملفات والحصول على البيانات الوصفية حول الملفات. لذا أريد أن أبدأ حديثي فقط في Java لديك القدرة على قراءة وكتابة ستريم البايت Byte Streams، وهي أحرف ثمانية بت أو عدد من الستريم الخاص بالأحرف Character streams، وهي أحرف Unicode 16 بت، وهناك جسر مدمج للانتقال بين ستريم البايت وStrems الأحرف أو Streams الأحرف إلى streams البايت. وهناك طرق عديدة ومختلفة التي يمكنك قراءة المحتوى بها. ولكن بالنسبة لتدفقات طباعة البيانات، والأنابيب، والقنوات، مصفوفات البايت، والمخازن المؤقتة للسلسلة، وستريم إدخال الكائن، القائمة طويلة. من المحتمل أن يكون هناك أي شيء ممكن ما عليك القيام به فيما يتعلق بقراءة أو كتابة الملفات I / O. إذن أول شيء سننظر إليه هو أن نقرأ ملفًا صغيرًا باستخدام مكتبة الإدخال / الإخراج الجديدة هذه Input /Output ولدينا ملف، هذا ملف Java في الواقع الذي نحن بصدد قراءته. سنستخدم فئة الملفات، طريقة readAllLines، أمرر لها المسار. ومنحها مجموعة الأحرف، وهي UTF-8. لذلك إذا أجرينا الاختبار الأول، أحصل على ستريم وسأقول لكل سطر في الستريم أو لكل عنصر في الستريم إطبعه. لذلك يمكننا أن نرى هنا، بالتأكيد، الذي يشبه الملف FileReadWriteFun، لذلك هناك الملف الذي نقرأه. التالي يوضح لنا تقنية التي يمكننا استخدامها لعدم قراءة جميع السطور ولأنه إذا كان لديك ملف وحش، مثل ملف ضخم، كبير جدًا، قد لا يكون لديك ذاكرة كافية لقراءة جميع السطور. لذلك هناك سلوك آخر في فئة الملفات يسمى السطور، التي ستفعل ذلك بالضبط. أنت تقوم بالستريم وأنت تقرأ السطور هنا، يتم تحميل وحدات بت فقط من الملف في الذاكرة في المرة الواحدة. لذلك فهي أكثر كفاءة في استخدام الذاكرة. أنت تنجز نفس الشيء الذي سنراه هنا. ما زلت سأقرأ الملف بأكمله. لكنك تقرأه في أجزاء بدلاً من قراءة الملف بأكمله في الذاكرة. لذلك نفس الناتج أو الإخراج، نفس المحتوى، نفس النتيجة بالأحرى. إنها مجرد طريقة أكثر كفاءة في استخدام الذاكرة لقراءة أجزاء من ملف بتنسيق على عكس كل شيء. والقراءة الأخيرة التي سنلقي نظرة عليها هي، ستريم إدخال البيانات حيث نتحكم في كل بايت الذي نقرأه على عكس قراءة السطور أو كل السطور. حسنًا، النهج الذي يتم استخدامه هنا هو أننا سنكتشف عدد البايتات متوفرة على القارئ بالنظر إلى هذا المسار. وسنقوم بإنشاء مصفوفة بايت هنا وقراءة كل البايت في مصفوفة البايت. ثم اطبع المحتويات من صفيف بايت كسلسلة. لذلك دعنا نرى. يجب أن ينتج عن هذا نفس الناتج. من المؤكد أنه كذلك بالفعل. لذلك أنا أقدر مشاهدتك. شكرا جزيلا لك.

التعلّم أثناء التنقّل

تعلّم أينما كنت — يتيح لك تطبيق KnowledgeCity للجوّال مشاهدة الدروس أثناء التنقّل.