التعامل مع الملفات فى الجافا 7_ قراءة ملف من مجلد المصادر resources folder

اذهب الى الأسفل

التعامل مع الملفات فى الجافا 7_ قراءة ملف من مجلد المصادر resources folder Empty التعامل مع الملفات فى الجافا 7_ قراءة ملف من مجلد المصادر resources folder

مُساهمة من طرف vbcoder في الثلاثاء أكتوبر 29, 2019 5:54 pm

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

فى البداية سنفترض ان لدينا الملف الملف sample.txt في مجلد الموارد كما فى الصورة التالية :

التعامل مع الملفات فى الجافا 7_ قراءة ملف من مجلد المصادر resources folder Read-file-from-resources-folder


1_ قراءة الملف باستخدام ClassLoader.getResource().toURI

الكود:
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
 
public class ReadResourceFileDemo
{
    public static void main(String[] args) throws IOException
    {
        String fileName = "config/sample.txt";
        ClassLoader classLoader = new ReadResourceFileDemo().getClass().getClassLoader();
 
        File file = new File(classLoader.getResource(fileName).getFile());
        
        //File is found
        System.out.println("File Found : " + file.exists());
        
        //Read File Content
        String content = new String(Files.readAllBytes(file.toPath()));
        System.out.println(content);
    }
}

كما يمكننا تجنب إنشاء مثيل غير ضروري للفئة إذا استخدمنا مثيل أداة تحميل الفئة كما هو موضح أدناه :

الكود:
String fileName = "config/sample.txt";
 
ClassLoader classLoader = ClassLoader.getSystemClassLoader();
 
File file = new File(classLoader.getResource(fileName).getFile());
 
//File is found
System.out.println("File Found : " + file.exists());
 
//Read File Content
String content = new String(Files.readAllBytes(file.toPath()));
System.out.println(content);


2_باستخدام ResourceUtils.getFile

ذا صادف أن يكون التطبيق الخاص بك على أساس منصة spring or spring boot، فيمكنك الاستفادة مباشرةً من فئة ResourceUtils على النحو التالى :

الكود:
File file = ResourceUtils.getFile("classpath:config/sample.txt")
 
//File is found
System.out.println("File Found : " + file.exists());
 
//Read File Content
String content = new String(Files.readAllBytes(file.toPath()));
System.out.println(content);
vbcoder
vbcoder
...
...

تاريخ التسجيل : 18/11/2018
المساهمات : 37
النقاط : 63
التقيم : 4
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى