قراءة البيانات من ملف هي واحدة من العمليات الرئيسية عند تطوير تطبيقات جافا. قد يكون هذا ضروريا عندما يكون من الضروري معالجة كمية كبيرة من المعلومات من ملف ، وكذلك لقراءة الإعدادات أو التكوينات. في هذه المقالة ، سننظر في طرق مختلفة لقراءة البيانات من ملف بلغة جافا ، بالإضافة إلى تقديم أمثلة على التعليمات البرمجية حتى تتمكن من فهم هذه العملية بسهولة.
يوفر جافا عدة طرق لقراءة البيانات من ملف. واحدة من الطرق الأكثر شيوعا هو استخدام الطبقات فيليريدر و بوفيريدريدر. يستخدم فيلريدر لفتح ملف ، ويستخدم بوفيريدر لقراءة البيانات بشكل أكثر كفاءة. طريقة أخرى هي استخدام فئة الماسح الضوئي ، والتي توفر طرقا ملائمة لقراءة أنواع مختلفة من البيانات.
عند استخدام فيليريدر و بوفيريدريدر ، يجب أن تنظر أنها قد رمي فيلنوتفوندكسيبتيون إذا لم يتم العثور على الملف. أيضا ، لا تنس إغلاق الملف بعد القراءة لتجنب تسرب الذاكرة. وفيما يلي نموذج التعليمات البرمجية مما يدل على قراءة البيانات من ملف باستخدام فيليريدر و بوفيريدريدر:
bufferedReader.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- Как видно из примера, мы открываем файл с помощью FileReader, а затем оборачиваем его в BufferedReader, чтобы улучшить производительность чтения. ثم نقرأ سطر الملف بسطر باستخدام طريقة ريدلين () لفئة بوفريدريدر ، وإخراج كل سطر إلى الشاشة. بعد القراءة ، نغلق الملف باستخدام طريقة الإغلاق ().
- الآن بعد أن عرفت المبادئ الأساسية لقراءة البيانات من ملف بلغة جافا ، يمكنك البدء في استخدام هذه المعرفة في مشاريعك. لا ننسى أن جافا لديها طرق أخرى لقراءة البيانات من ملف ، مثل استخدام فئة الماسح الضوئي أو قراءة بايت باستخدام فئة فيلينبوتستريم. استخدم الطريقة التي تناسب احتياجاتك.
- فتح ملف للقراءة في جافا
- قراءة ملف نصي
- قراءة ملف ثنائي
خاتمة
قراءة البيانات من سطر ملف بسطر
الخطوة 1: إنشاء كائن ملف
الخطوة 2: إنشاء كائن بوفيريدريدر
الخطوة 3: اقرأ البيانات سطرا بسطر
نموذج التعليمات البرمجية
خاتمة
قراءة البيانات من ملف باستخدام مخزن مؤقت
قراءة البيانات من ملف كما بايت
قراءة البيانات من ملف باستخدام الماسح الضوئي
معالجة الأخطاء عند قراءة البيانات من ملف في جافا
سؤال وجواب
كيف يمكنني فتح ملف للقراءة في جافا?
كيفية قراءة البيانات من سطر ملف سطرا في جافا?
هل من الممكن استخدام لكل حلقة عند قراءة البيانات من ملف في جافا?
هل من الممكن قراءة البيانات من ملف حرف تلو حرف في جافا?
كيفية قراءة البيانات من ملف بواسطة بايت في جافا?
كيف يمكنني التعامل مع خطأ عند قراءة البيانات من ملف في جافا?
فتح ملف للقراءة في جافا
لقراءة البيانات من ملف في جافا ، تحتاج إلى فتح الملف وتكوين الدفق للقراءة. في جافا ، هناك عدة طرق لفتح ملف للقراءة ، اعتمادا على نوع البيانات التي تريد قراءتها.
قراءة ملف نصي
لقراءة ملف نصي في جافا ، يمكنك استخدام الطبقات بوفريدريدر و فيلريدر. بوفيريدريدر يقرأ النص من تيار حرف ، و فيليريدر يقرأ الأحرف من ملف. معا ، تسمح لك هذه الفئات بفتح ملف للقراءة وقراءته سطرا بسطر. Buff ، buff بوفيريدريدر fil فيلريدر:
استيراد جافا;
استيراد جافا;
استيراد جافا;
فئة عامة قراءة فيلمثال {
العامة ثابت الفراغ الرئيسي (سلسلة[] الحجج) {
محاولة {
بوفيريدريدر ريدر = بوفيريدريدر جديد ( فيلريدر جديد ("ملف.النص"));
خط السلسلة;
بينما ((خط = قارئ.قراءة الخط ())!= لاغية) {
النظام.خارج.برينتلن (خط);
}
القارئ.إغلاق();
} الصيد (إيوكسيبتيون ه) {
ه. برينتستاكتريس();
}
}
}
في هذا المثال ، نقوم بإنشاء كائن بوفريدريدر وتمريره كائن فيليريدر الذي يفتح الملف " ملف.النص " للقراءة. ثم نقرأ سطر الملف بسطر في حلقة بينما ونخرج كل سطر إلى الشاشة. لا تنس إغلاق الدفق بعد الانتهاء من قراءة الملف باستخدام طريقة الإغلاق ().
قراءة ملف ثنائي
لقراءة ملف ثنائي مثل صورة أو ملف صوتي أو فيديو ، يمكن لجافا استخدام فئتي فيلينبوتستريم وداتاينبوستريم. فيلينبوتستريم يفتح ملف لقراءة بايت ، و داتينبوستريم يسمح لك لقراءة البيانات من ملف في أشكال مختلفة. Вот пример кода, который демонстрирует открытие бинарного файла для чтения с использованием FileInputStream и DataInputStream:
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class ReadBinaryFileExample {
public static void main(String[] args) {
try {
DataInputStream reader = new DataInputStream(new FileInputStream("file.bin"));int data;
while ((data = reader.read()) != -1) {
System.out.println(data);
}
reader.close();
} catch (IOException e) {
e.برينتستاكتريس();
}
}
}
في هذا المثال ، نقوم بإنشاء كائن داتينبوتستريم وتمريره كائن فيلينبوستريم ، الذي يفتح الملف " ملف.بن " لقراءة بايت. ثم نقرأ بايت من الملف في حلقة في حين وإخراج كل بايت إلى الشاشة. كما في المثال السابق ، لا تنس إغلاق الدفق بعد الانتهاء من قراءة الملف باستخدام طريقة الإغلاق ().
خاتمة
يمكن أن يكون فتح ملف للقراءة بلغة جافا عملية بسيطة إلى حد ما ، ولكنه يتطلب إدارة تدفق دقيقة ومعالجة الاستثناءات المحتملة. في هذه المقالة ، استعرضنا أمثلة على استخدام الطبقات بوفريدريدر ، فيليريدر ، فيلينبوتستريم و داتاينبوستريم لفتح الملفات للقراءة في جافا. يجب أن تساعدك هذه الأمثلة على بدء قراءة البيانات من الملفات واستخدام تلك البيانات في برنامجك.
قراءة البيانات من سطر ملف بسطر
عندما تحتاج إلى قراءة ملف ومعالجة محتوياته سطرا سطرا ، يمكنك استخدام الملف وفئات بوفريدريدر في جافا. في هذا القسم ، سننظر في كيفية قراءة البيانات من سطر ملف بسطر وتشغيل بعض أمثلة التعليمات البرمجية للوضوح.
الخطوة 1: إنشاء كائن ملف
أولا وقبل كل شيء ، تحتاج إلى إنشاء كائن من فئة الملف ، وتحديد المسار إلى الملف الخاص بك. على سبيل المثال ، إذا كان ملفك يسمى "مثال.النص "ويقع في المجلد" ج:/ مجلد " ، يمكنك إنشاء كائن ملف على النحو التالي:
ملف ملف = ملف جديد ("C:/folder/example.النص");
الخطوة 2: إنشاء كائن بوفيريدريدر
ثم تحتاج إلى إنشاء كائن من فئة بوفريدريدر لقراءة البيانات من الملف. المعلمة من منشئ بوفريدريدر هو كائن من فئة فيليريدر ، الذي يوفر القدرة على قراءة الملف. يمكنك إنشاء كائن بوفيريدريدر على النحو التالي:
بوفيريدريدر القارئ = بوفيريدريدر جديد (فيلريدر جديد (ملف));
الخطوة 3: اقرأ البيانات سطرا بسطر
الآن يمكنك البدء في قراءة البيانات من سطر الملف بسطر باستخدام طريقة ريدلاين () لكائن بوفريدريدر. تقرأ هذه الطريقة سطرا واحدا من ملف وتعيده كسلسلة. يمكنك استخدام حلقة أثناء قراءة جميع الأسطر في الملف بالتتابع:
خط السلسلة;
بينما ((خط = قارئ.قراءة الخط ())!= لاغية) {
// معالجة الخط
}
نموذج التعليمات البرمجية
لنلق نظرة على مثال بسيط نقرأ فيه محتويات الملف "مثال.النص " سطرا سطرا وإخراج كل سطر إلى وحدة التحكم:
استيراد جافا;
استيراد ملف جافا;
استيراد java.io .قارئ الملفات;
استيراد جافا;
خط السلسلة;
بينما ((خط = قارئ.قراءة الخط ())!= لاغية) {
النظام.خارج.برينتلن (خط);
}
} الصيد (إيوكسيبتيون ه) {
ه. برينتستاكتريس();
}
}
}
Example "مثال.النص " и выводит его содержимое построчно на консоль. إيلاء الاهتمام لإدارة الموارد باستخدام محاولة مع الموارد بناء ، الذي يغلق تلقائيا كائن بوفريدريدر بعد الاستخدام.
خاتمة
الآن أنت تعرف كيفية قراءة البيانات من سطر ملف بسطر في جافا. استخدم فئة الملف لتحديد المسار إلى الملف ، قم بإنشاء كائن بوفريدريدر لـ
قراءة البيانات من ملف باستخدام مخزن مؤقت
عند قراءة البيانات من ملف في جافا ، فمن المستحسن استخدام التخزين المؤقت لتحسين الأداء. يسمح لك التخزين المؤقت بقراءة البيانات من ملف في أجزاء صغيرة ، مما يقلل من عدد عمليات الإدخال / الإخراج.
في جافا ، يمكن استخدام الفئات لقراءة البيانات من ملف باستخدام مخزن مؤقت
بوفيريدريدر
و
قارئ الملفات
.
يوضح مثال التعليمات البرمجية التالية قراءة البيانات من ملف باستخدام مخزن مؤقت:
القارئ.إغلاق();
}
}
}
في هذا المثال ، نقوم بإنشاء كائن
بوفيريدريدر
وتمرير الكائن إليها
- قراءة البيانات من ملف كما بايت
استيراد فئة فيلنبوتستريم:
استيراد جافا;
إنشاء كائن فيلينبوتستريم وفتح الملف:
فيلنبوتستريم فيلنبوستريم = فيلنبوستريم جديد ("المسار إلى ملف");
إنشاء مجموعة من وحدات البايت لقراءة البيانات من الملف:
بايت [] البيانات = بايت جديد [حجم جزء];
- قراءة البيانات من الملف إلى مجموعة من وحدات البايت:
إنت بيتسريد = فيلينبوتستريم.قراءة (البيانات);
كرر الخطوة 4 حتى تكون هناك بيانات في الملف لقراءتها:
- بينما (بيتيقرأ != -1) {
// معالجة البيانات
بيتسريد = فيلينبوتستريم.قراءة (البيانات);
}
أغلق الملف بعد قراءة البيانات:
فيلنبوتستريم.إغلاق();
لاحظ أنه في الكود أعلاه ، يمكنك تغيير قيمة "جزء الحجم" إلى رقم يحدد حجم جزء البيانات الذي تريد قراءته من الملف.
عند قراءة البيانات من ملف كبايت ، يجب أن تكون حريصا على معالجة البيانات والعمل معها بشكل صحيح بناء على تنسيق الملف وتمثيلها كبايت.
آمل أن يساعدك هذا المثال على فهم كيفية قراءة البيانات من ملف كبايت في جافا!
قراءة البيانات من ملف باستخدام الماسح الضوئي
يوفر جافا عدة طرق لقراءة البيانات من ملف. واحدة من أسهل الطرق هي استخدام فئة الماسح الضوئي. توفر فئة الماسح الضوئي طرقا ملائمة لقراءة أنواع مختلفة من البيانات من ملف.
لقراءة البيانات من ملف باستخدام الماسح الضوئي ، اتبع الخطوات التالية:
قم بإنشاء مثيل لفئة الماسح الضوئي عن طريق تحديد المسار إلى الملف:
ملف ملف = ملف جديد ("المسار إلى ملف");
الماسح الضوئي الماسح الضوئي = الماسح الضوئي الجديد (ملف);
استخدم طرق فئة الماسح الضوئي لقراءة البيانات من ملف.
على سبيل المثال ، الماسح الضوئي.الأسلوب التالي () يسمح لك لقراءة سطر من ملف:
خط سلسلة = الماسح الضوئي.الخط التالي();
النظام.خارج.برينتلن (خط);
الماسح الضوئي.الأسلوب التالي () يسمح لك لقراءة قيمة عدد صحيح من ملف:
عدد الباحث = الماسح الضوئي.التالي ();
النظام.خارج.برينتلن (عدد);
Не забудьте закрыть экземпляр класса Scanner, когда вы закончили чтение данных из файла:
scanner.close();
Вот полный пример, демонстрирующий чтение данных из файла с использованием Scanner:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ReadFileExample {
public static void main(String[] args) {
try {
File file = new File("file.txt");
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
خط سلسلة = الماسح الضوئي.الخط التالي();
النظام.خارج.برينتلن (خط);
}
الماسح الضوئي.إغلاق();
} الصيد (فيلنوتفوندكسيبتيون ه) {
ه. برينتستاكتريس();
}
}
}
يقرأ هذا المثال محتويات الملف " ملف.النص " وإخراجها إلى وحدة التحكم.
الآن أنت تعرف كيفية استخدام فئة الماسح الضوئي لقراءة البيانات من ملف في جافا. لديك تجربة برمجة جيدة!
معالجة الأخطاء عند قراءة البيانات من ملف في جافا
عند العمل مع الملفات في جافا ، من الممكن حدوث أخطاء مختلفة تتعلق بقراءة البيانات. دعنا نراجع الأخطاء الأكثر شيوعا وكيفية التعامل معها.
1. فيلنوتفوندكسيبتيون
يعد هذا أحد أكثر الأخطاء شيوعا عند قراءة البيانات من ملف. يحدث عندما يتعذر على البرنامج العثور على الملف المحدد. للتعامل مع هذا الخطأ ، يجب عليك استخدام محاولة الصيد:
حاول بلوك{
ملف ملف = ملف جديد ("ملف.النص");
الماسح الضوئي الماسح الضوئي = الماسح الضوئي الجديد (ملف);
} الصيد (فيلنوتفوندكسيبتيون ه) {
// معالجة الأخطاء
}
2. إيوكسيبتيون
إوكسيبتيون هو استثناء شائع لأخطاء الإدخال / الإخراج. قد يحدث، على سبيل المثال ، إذا كانت هناك مشاكل في فتح ملف أو قراءته. محاولة الصيد: محاولة كتلة يستخدم أيضا للتعامل مع إيوكسيبتيون
{
قارئ الملفات = قارئ ملفات جديد ("ملف.النص");
بوفيريدريدر بوفيريدريدر = بوفيريدريدر جديد (فيلريدر);
} الصيد (إيوكسيبتيون ه) {
// معالجة الأخطاء
}
3. الأمن
يحدث سيكوريتيكسيبتيون عندما لا يكون البرنامج الأذونات اللازمة للوصول إلى الملف المحدد. يتم استخدام كتلة محاولة الصيد أيضا للتعامل مع هذا الخطأ.:
محاولة {
ملف ملف = ملف جديد ("ملف.النص");
الماسح الضوئي الماسح الضوئي = الماسح الضوئي الجديد (ملف);
} الصيد (سيكوريتيكسيبتيون ه) {
// معالجة الأخطاء
}
4. التحقق من توفر الملف
قبل قراءة البيانات من ملف ، يوصى بالتحقق من توفرها وإمكانية الوصول إليها. يمكن القيام بذلك باستخدام الطريقة الموجودة () لفئة الملف:
ملف ملف = ملف جديد ("ملف.النص");
إذا (ملف.موجود ()) {
// قراءة البيانات من ملف
} آخر {
// معالجة الملف المفقود
}
5. إغلاق الجداول
نقطة مهمة عند العمل مع الملفات في جافا هي إغلاق التدفقات بعد استخدامها. للقيام بذلك ، يمكنك استخدام أساليب إغلاق() من فيلينبوتستريم ، فيليريدر ، وغيرها من الطبقات المستخدمة لقراءة البيانات من ملف.
على سبيل المثال:
قارئ الملفات = لاغية;
محاولة {
قارئ الملفات = قارئ ملفات جديد ("ملف.النص");
// قراءة البيانات من ملف
} الصيد (إيوكسيبتيون ه) {
// معالجة الأخطاء
} أخيرا {
إذا (قارئ الملفات != لاغية) {