جاري التحميل...

مسارات في Java

ابنِ Path بـ Paths.get لتسمّي مكانًا دون فتح الملف بعد. افتح Route.java، نفّذ Paths.get("note.txt")، واطبع getFileName(). ترجم بـ javac Route.java وشغّل java Route. الشاشة يجب أن تُظهر note.txt. عرض ثانٍ يربط "docs" و"note.txt"، يطبع اسم الملف ثم المجلد الأب. عرض ثالث يطبع المسار الكامل. اترك inheritance للصفحة التالية.

تسمية قطعة ملف واحدة

صفحة الكتابة خزّنت حروفًا بـ FileWriter والسلسلة "note.txt". هنا يصبح الاسم Path يمكنك السؤال عنه. افتح Route.java. أبقِ اسم الصنف العام Route. احذف ديموهات Store وReader وSignal وأي Scanner للوحة المفاتيح. لا ينتظر البرنامج الكتابة. لا تحتاج إنشاء note.txt على القرص لهذه العروض.
احتفظ قرب الأعلى:
import java.nio.file.Path;
import java.nio.file.Paths;
داخل main ابنِ المسار من اسم واحد:
Path p = Paths.get("note.txt");
اطبع القطعة الأخيرة فقط:
System.out.println(p.getFileName());
getFileName يعيد Path يظهر كـ note.txt. أنت لا تكتب tea ولا تقرأ oak — أنت تسمّي.

Route getFileName note.txt

java
import java.nio.file.Path;
import java.nio.file.Paths;

public class Route {
    public static void main(String[] args) {
        Path p = Paths.get("note.txt");
        System.out.println(p.getFileName());
    }
}

من مجلد Route.java نفّذ javac Route.java. ثم java Route — لا java Route.java. إن فشل javac في Path أو Paths، راجع imports.
الشاشة تعرض note.txt. لا مكث للإدخال. طرفية فارغة: ربما java Store بلا println. tea أو oak يعني خلط كتابة/قراءة. blocked أو after بقايا Guard.
المسار: Route.main، Paths.get("note.txt")، getFileName، println. لا يُفتح شيء على القرص.

ربط اسم مجلد واسم ملف

برنامج ثانٍ يبني المسار من docs ثم note.txt. اطبع اسم الملف ثم getParent.

Route docs plus note.txt name and parent

java
import java.nio.file.Path;
import java.nio.file.Paths;

public class Route {
    public static void main(String[] args) {
        Path p = Paths.get("docs", "note.txt");
        System.out.println(p.getFileName());
        System.out.println(p.getParent());
    }
}

ترجم بـ javac Route.java ثم java Route. السطر الأول note.txt. الثاني docs. getFileName للقطعة الأخيرة. getParent للمجلد فوقها. لا تبادل المعنى.
Paths.get بعدة سلاسل يوصل بالترتيب. لا تكتب الفاصل يدويًا. المسار لا ينشئ مجلدًا أو ملفًا. التسمية منفصلة عن الكتابة والقراءة.
مع "note.txt" وحده قد يطبع getParent قيمة null. عرض القطعتين يُظهر docs.

طباعة المسار المدمج كاملًا

برنامج ثالث يبقي Paths.get("docs", "note.txt") ويطبع كائن المسار نفسه.

Route print joined path

java
import java.nio.file.Path;
import java.nio.file.Paths;

public class Route {
    public static void main(String[] args) {
        Path p = Paths.get("docs", "note.txt");
        System.out.println(p);
    }
}

ترجم وشغّل مجددًا. الشاشة تعرض المسار كقيمة واحدة — غالبًا docs\note.txt أو docs/note.txt. المهم الربط لا حفظ شرطة. للقطع المنفصلة استخدم getFileName وgetParent.
لا تخترع inheritance هنا. الصفحة التالية تبدأ extends. لا تلصق FileWriter في Route.java. أبقِ أسماء التدريس منفصلة.

مقارنة مع Store وReader

java Store كتب في note.txt. java Reader قرأ من القرص. java Route يُسمّي فقط بـ Path وPaths.get. شغّل java Route لهذه العروض.
الرموز الجديدة: Paths.get، getFileName، getParent. استورد java.nio.file.Path وjava.nio.file.Paths. لا FileWriter ولا Scanner.

ما تُبقيه لـ inheritance

هذه الصفحة تُسمّي المسارات. التالية تبدأ inheritance. ابقَ مع Paths.get وفصل اسم الملف عن الأب. لا extends في Route بعد.

قبل inheritance

تستطيع بناء Paths.get("note.txt") ورؤية note.txt من getFileName. تربط "docs" و"note.txt"، ترى note.txt ثم الأب docs. تطبع المسار كسطر واحد. javac Route.java ثم java Route لكل عرض. الصفحة التالية inheritance.
إذا أظهر java Route على العرض ذي السطرين note.txt وdocs، أنهيت مسارات هذا الدرس وأنت جاهز لـ inheritance.

🧠 اختبر معرفتك

جاهز للبدء

اختبر معرفتك

تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع

❓
5
الأسئلة
🎯
70%
للنجاح
♾️
∞
الوقت
🔄
∞
المحاولات

📝 التعليمات

  • اقرأ كل سؤال بعناية
  • اختر أفضل إجابة لكل سؤال
  • يمكنك إعادة الاختبار عدة مرات كما تريد
  • سيتم عرض تقدمك في الأعلى