امروز قصد دارم به شما یاد بدهم چگونه از یک فایل متنی با استفاده از جاوا اطلاعات را بخوانید. ما با ایجاد فایلها و نوشتن/افزودن فایلها پیش رفتهایم، پس حالا به خواندن دادهها از هر فایلی اقدام خواهیم کرد اما در اینجا فقط از فایلهای متنی یا با پسوند .txt استفاده خواهیم کرد. پس حالا بیایید این آموزش را شروع کنیم! ۱. نوتپد را باز کنید. هر دادهای را در آن قرار دهید، به عنوان مثال من نوشتهام "Sourcecodester is the best!" آن را در همان پوشه با برنامه جاوا خود ذخیره کنید و آن را با نام data.txt ذخیره کنید. ۲. JCreator یا NetBeans را باز کنید و یک برنامه جاوا با نام فایل readFiles.java ایجاد کنید. ۳. بسته java.io را وارد کنید. بنابراین ما ورودی/خروجی را در ایجاد فایلها استفاده خواهیم کرد. ۴. در main خود، فایل data.txt را که چند لحظه پیش ایجاد کردهاید مقداردهی اولیه کنید. همچنین StringBuffer contents و BufferedReader reader را به مقدار null مقداردهی کنید.
File file = new File("data.txt");
StringBuffer contents = new StringBuffer();
BufferedReader reader = null;
از کلاس StringBuffer برای نمایش کاراکترها استفاده شده است که میتواند تغییر یا اصلاح شود و کلاس BufferedReader در اینجا به این معنی است که از منبع ورودی به یک بافر قبل از ارسال آن به رشته دیگری میخواند. ۵. حالا، یک متد try و catch ایجاد کنید. در متد try خود، کد زیر را انجام دهید. این کار باعث میشود تا تمام خطوط دادههای فایل data.txt خوانده شود.
try
{
reader = new BufferedReader(new FileReader(file));
String text = null;
// تکرار تا زمانی که همه خطوط خوانده شود
while ((text = reader.readLine()) != null)
{
contents.append(text)
.append(System.getProperty(
"line.separator"));
}
}
در متد Catch خود، بهتر است IOException را catch کنید و سپس از متد printStackTrace() استفاده کنید. این کار به پیگیری استثناء و شناسایی کدام متد باگ را ایجاد میکند، کمک میکند. و همچنین FileNotFoundException اگر فایل در همان پوشه برنامه یافت نشد.
catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
۶. در نهایت، محتوای فایل data.txt را با استفاده از متد toString نمایش دهید.
System.out.println(contents.toString());
خروجی: خروجی اینجا کد کامل این آموزش است:
import java.io.*;
public class readFiles
{
public static void main(String[] args)
{
File file = new File("data.txt");
StringBuffer contents = new StringBuffer();
BufferedReader reader = null;
try
{
reader = new BufferedReader(new FileReader(file));
String text = null;
// تکرار تا زمانی که همه خطوط خوانده شود
while ((text = reader.readLine()) != null)
{
contents.append(text)
.append(System.getProperty(
"line.separator"));
}
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
// نمایش محتوای فایل در اینجا
System.out.println(contents.toString());
}
}