في مشروع Java الخاص بك، تواجه خطأ عند محاولة الوصول إلى النص ملف من مسار نسبي محدد. ينشأ هذا الخطأ من عدم قدرة فئة java.io.File على تحديد المسار المحدد.
لمعالجة هذه المشكلة، يوصى باسترداد الملف من مسار الفئة بدلاً من الاعتماد على نظام الملفات. من خلال القيام بذلك، يمكنك إلغاء الحاجة إلى المسارات النسبية والتأكد من الحصول على الملف بغض النظر عن دليل العمل الحالي.
بافتراض أن ملف ListStopWords.txt موجود في نفس الحزمة مثل فئة FileLoader، ما يلي يوضح الكود كيفية الحصول على الملف من مسار الفصل:
URL url = getClass().getResource("ListStopWords.txt");
File file = new File(url.getPath());
بدلاً من ذلك، إذا كان غرضك الوحيد هو الحصول على InputStream للملف، فيمكنك استخدام ما يلي:
InputStream input = getClass().getResourceAsStream("ListStopWords.txt");
يفضل هذا الأسلوب لأنه يستوعب تمثيلات نظام الملفات المختلفة، بما في ذلك أنظمة الملفات الافتراضية ومسارات الشبكة.
علاوة على ذلك، إذا الملف عبارة عن ملف خصائص يحتوي على أزواج قيمة المفتاح، يمكنك تحميله مباشرة من InputStream:
Properties properties = new Properties();
properties.load(getClass().getResourceAsStream("ListStopWords.txt"));
يرجى ملاحظة أنه إذا كنت تصل إلى الملف من داخل سياق ثابت، فيجب عليك استبدال getClass() بـ YourClass.class ( حيث يمثل YourClass اسم فصلك).
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3