Avatar ·

كيف تقرأ محتوى ملف إلى سلسلة نصية في Java؟ (File to String)

مرحباً بالجميع! أنا مبتدئ في Java ولا أستطيع فهم قراءة الملفات. أحتاج لقراءة ملف نصي كامل في سلسلة نصية String واحدة، لمعالجتها لاحقاً (مثلاً، تقسيمها إلى أسطر أو البحث عن نص فرعي). حاولت كتابة الكود بنفسي، لكن الكود أصبح ضخماً ولا يعمل: ```java File file = new File("test.txt"); String content = ""; try { FileInputStream fis = new FileInputStream(file); int b; while ((b = fis.read()) != -1) { content += (char) b; } fis.close(); } catch (IOException e) { e.printStackTrace(); } System.out.println(content); ``` المشاكل: 1. إذا كان الملف كبيراً، يبطئ البرنامج (سمعت عن concatenation السلاسل في الحلقة - هذا سيء). 2. لم يتم تحديد الترميز - على Windows تتحول الحروف الروسية إلى رموز مشوشة. 3. إذا نسيت إغلاق الـ stream، قد يحدث تسرب للذاكرة. 4. الكود يبدو فظيعاً - عدد كبير جداً من الأسطر لمهمة بسيطة. أرشدوني، كيف أقرأ ملفاً إلى سلسلة نصية بشكل صحيح وجميل في Java الحديثة؟