Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

Javaمثال يشرح طريقة إدخال بيانات من المستخدم و تخزينها في ملف في جافا

في المثال التالي قمنا بتعريف متغير إسمه name لحفظ إسم المستخدم, و متغير آخر إسمه password لحفظ كلمة المرور لهاذا المستخدم.
سنستخدم الدالة next() لإستقبال بيانات المستخدم.
بعد حفظ هذه البيانات في المتغيرات name و password, سنقوم بإنشاء ملف في جهاز المستخدم إسمه users.txt و نحفظ قيم هذه المتغيرات فيه.

ملاحظة: إستخدمنا الدالة next() بالتحديد لأن إسم المستخدم و كلمة المرور مهما كان حجمهما فإن كل واحد منهما يكون دائماً عبارة عن كلمة واحدة.


Main.java
import java.io.FileReader; // و الذي سنستخدمه للقراءة من الملف الذي قمنا بإنشائه FileReader هنا قمنا باستدعاء الكلاس
import java.io.FileWriter; // و الذي سنستخدمه للكتابة في الملف الذي سننشأه FileWriter هنا قمنا باستدعاء الكلاس
import java.util.Scanner; // Scanner هنا قمنا باستدعاء الكلاس
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); // input إسمه Scanner هنا قمنا بإنشاء كائن من الكلاس
String name; // سنستخدم هذا المتغير لتخزين إسم المستخدم
String password; // سنستخدم هذا المتغير لتخزين كلمة مرور المستخدم
try {
System.out.print("User Name: "); // هنا طلبنا من المستخدم إدخال علامة المادة الأولى
name = input.next(); // هنا قمنا بتخزين العلامة التي أدخلها في العنصر الأول في المصفوفة
System.out.print("Password: "); // هنا طلبنا من المستخدم إدخال علامة المادة الثانية
password = input.next(); // هنا قمنا بتخزين العلامة التي أدخلها في العنصر الثاني في المصفوفة
FileWriter fw = new FileWriter("users.txt", true); // في حال لم يكن أصلاً موجوداً و فتحه للكتابة فيه users.txt لإنشاء ملف إسمه FileWriter هنا قمنا بإنشاء كائن نوعه
fw.write("User Name: " +name + "\n"); // هنا قمنا بكتابة إسم المستخدم في الملف
fw.write("Password: " + password + "\n\n"); // ثم قمنا بكتابة كلمة المرور
fw.flush(); // بعدها قمنا بتفريغ الذاكرة
fw.close(); // بعدها قمنا بإغلاق الكائن المتصل بالملف
FileReader fr = new FileReader("users.txt"); // users.txt و الذي سنستخدمه لقراءة الأشياء الموجودة في الملف FileReader هنا قمنا بإنشاء كائن نوعه
int c;
while ((c = fr.read()) != -1) { // هنا قمنا بإنشاء حلقة تمر على جميع أحرف الملف, في كل دورة تقرأ حرف من الملف
System.out.print((char)c); // ثم تعرضه
}
fr.close(); // بعدها قمنا بإغلاق الكائن المتصل بالملف
}
catch (Exception e) { // هنا سيتم إلتقاط أي خطأ قد يحدث و عرضه
System.out.print(e.toString());
}
finally { // Scanner في حال تم أو لم يتم إدخال البيانات, سيتم إغلاق الـ
input.close();
}
}
}
import java.io.FileReader; // و الذي سنستخدمه للقراءة من الملف الذي قمنا بإنشائه FileReader هنا قمنا باستدعاء الكلاس import java.io.FileWriter; // و الذي سنستخدمه للكتابة في الملف الذي سننشأه FileWriter هنا قمنا باستدعاء الكلاس import java.util.Scanner; // Scanner هنا قمنا باستدعاء الكلاس public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); // input إسمه Scanner هنا قمنا بإنشاء كائن من الكلاس String name; // سنستخدم هذا المتغير لتخزين إسم المستخدم String password; // سنستخدم هذا المتغير لتخزين كلمة مرور المستخدم try { System.out.print("User Name: "); // هنا طلبنا من المستخدم إدخال علامة المادة الأولى name = input.next(); // هنا قمنا بتخزين العلامة التي أدخلها في العنصر الأول في المصفوفة System.out.print("Password: "); // هنا طلبنا من المستخدم إدخال علامة المادة الثانية password = input.next(); // هنا قمنا بتخزين العلامة التي أدخلها في العنصر الثاني في المصفوفة FileWriter fw = new FileWriter("users.txt", true); // في حال لم يكن أصلاً موجوداً و فتحه للكتابة فيه users.txt لإنشاء ملف إسمه FileWriter هنا قمنا بإنشاء كائن نوعه fw.write("User Name: " +name + "\n"); // هنا قمنا بكتابة إسم المستخدم في الملف fw.write("Password: " + password + "\n\n"); // ثم قمنا بكتابة كلمة المرور fw.flush(); // بعدها قمنا بتفريغ الذاكرة fw.close(); // بعدها قمنا بإغلاق الكائن المتصل بالملف FileReader fr = new FileReader("users.txt"); // users.txt و الذي سنستخدمه لقراءة الأشياء الموجودة في الملف FileReader هنا قمنا بإنشاء كائن نوعه int c; while ((c = fr.read()) != -1) { // هنا قمنا بإنشاء حلقة تمر على جميع أحرف الملف, في كل دورة تقرأ حرف من الملف System.out.print((char)c); // ثم تعرضه } fr.close(); // بعدها قمنا بإغلاق الكائن المتصل بالملف } catch (Exception e) { // هنا سيتم إلتقاط أي خطأ قد يحدث و عرضه System.out.print(e.toString()); } finally { // Scanner في حال تم أو لم يتم إدخال البيانات, سيتم إغلاق الـ input.close(); } } }

سنحصل على النتيجة التالية عند التشغيل إذا قمنا بإدخال نفس المعلومات التي أدخلناها عند تشغيل البرنامج.
قمنا بتعليم البيانات التي إنتظرنا البرنامج لإدخالها من لوحة المفاتيح باللون الأصفر.

User Name: Mhamad
Password: abc@456

User Name: Mhamad
Password: abc@456

في حال قمنا بتشغيله من جديد, سنحصل على النتيجة التالية إذا قمنا بإدخال نفس المعلومات التي أدخلناها عند تشغيل البرنامج.
قمنا بتعليم البيانات التي إنتظرنا البرنامج لإدخالها من لوحة المفاتيح باللون الأصفر.

User Name: Hala
Password: 1234Hacker@

User Name: Mhamad
Password: abc@456

User Name: Hala
Password: 1234Hacker@

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة