په جاوا کې د فایلونو لوستلو څرنګوالی

جاوا د فایلونو لوستلو لپاره ډیری میتودونه چمتو کوي. د دې هر یو میتود په مختلف حالتونو کې د مختلف ډوله فایلونو لوستلو لپاره مناسب دی. ځینې ​​د اوږد فایلونو لوستلو لپاره غوره دي ، نور یې د لنډ لنډو لوستلو لپاره غوره دي ، وغيره.

پدې لوست کې ، موږ به د فایلونو لوستلو لپاره لاندې جاوا ټولګیو څخه کار واخلو

  • بفرډرډر
  • فایلونه
  • سکینر

د لارښود په جریان کې ، موږ په | _ _ _ _ | کې ساتل شوې فایل کار کوو لارښود چېرې چې فایل ته لاره ده | _ _ + _ |


د پروسې دمخه په دې فایل کې د متن ډیری کرښې ذخیره کړئ.

یادونه:تاسو باید په سم ډول د غلطیو اداره کړئ کله چې د دې تطبیقاتو کارولو لپاره غوره کوډ کولو غوره عمل ته ودرېږئ.

په جاوا کې د بفرډیرر سره د متن فایلونو لوستل

| src کلاس د کرکټر - انډول جریان لوستل. دا د 8 KB د ډیفالټ اندازې سره بفر کې کرکټرونه بفر کوي ترڅو د لوستلو پروسه نوره اغیزمنه کړي. که تاسو غواړئ د فایل لاین په کرښه ولولئ ، د بفرډیرډر کارول غوره انتخاب دی.


src/file.txt د لوی فایلونو لوستلو کې اغیزمن دی.

BufferedReader

| BufferedReader کله چې د فایل پای پای ته ورسیږي میتود بیرته راستانه کیږي.

یادونه:د لوستلو په پای کې د فایل تړل مه هیروئ.

په بریفر ریډر سره په جاوا کې د UTF-8 کوډ شوی فایل لوستل

موږ کولی شو | import java.io.*; public class FileReaderWithBufferedReader {
public static void main(String[] args) throws IOException{We
String file = 'src/file.txt';
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));

String curLine;
while ((curLine = bufferedReader.readLine()) != null){

//process the line as required

System.out.println(curLine);
}
bufferedReader.close();
} }
وکاروو ټولګی د UTF-8 کوډ شوی فایل لوستلو لپاره.

دا وخت ، موږ یو readline() | اعتراض کله چې یو جوړ کړئ | مثال


BufferedReader

د فایل لوستلو لپاره د جاوا فایلونو کلاس کارول

جاوا InputStreamReader ټولګی ، په جاوا NIO کې جاوا 7 کې معرفي شوی ، په بشپړ ډول له جامد میتودونو څخه جوړ دی چې په فایلونو کار کوي.

د BufferedReader کارول ټولګی ، تاسو کولی شئ په فایل کې د فایل بشپړ مینځپانګه ولولئ. دا د کوچني فایلونو لوستلو لپاره غوره انتخاب رامینځته کوي.

راځئ وګورو چې موږ څنګه کولی شو پدې دواړه سناریوګانو کې د فایلونو کلاس وکاروو.

د فایلونو کلاس سره په جاوا کې کوچني فایلونه لوستل

| import java.io.*; public class EncodedFileReaderWithBufferedReader {
public static void main(String[] args) throws IOException {
String file = 'src/fileUtf8.txt';
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), 'UTF-8'));

String curLine;
while ((curLine = bufferedReader.readLine()) != null){

//process the line as you require

System.out.println(curLine);
}
} }
د Files طريقه ټولګی د فایل ټوله مینځپانګه لوستلو ته اجازه ورکوي او هره کرښه د تارونو په توګه په صف کې ساتي.


تاسو کولی شئ | _ _ + _ | وکاروئ ټولګی د فایل ته د لارې تر لاسه کولو لپاره | Files ټولګي | readAllLines() مني د دوتنې څيز.

Files

تاسو کولی شئ | _ _ + _ | وکاروئ ترڅو په فایل کې زیرمه شوي ډاټا د سټین سر په ځای بایټ صف ته لاسرسی ومومئ.

Path

د فایلونو کلاس سره په جاوا کې د لوی فایلونو لوستل

که تاسو غواړئ د | _ _ + _ | سره لوی فایل ولولئ ټولګي ، تاسو کولی شئ | _ _ + _ | وکاروئ د Files بېلګې ترلاسه کولو طريقه ټولګی او د | _ _ _ _ | په کارولو سره د دوتنې ليکه په کرښه کې لوستل.

Path

د فایلونو فایلونو سره فایلونه لوستل ()

جاوا 8 د فایلونو کلاس ته نوی میتود معرفي کړ ترڅو ټوله فایل په import java.io.IOException; import java.nio.file.*; import java.util.*; public class SmallFileReaderWithFiles {
public static void main(String[] args) throws IOException {
String file = 'src/file.txt';
Path path = Paths.get(file);
List lines = Files.readAllLines(path);
} }
کې لوستل شي د تارونو.


readAllBytes()

په سکینر سره په جاوا کې د متن فایلونو لوستل

| byte[] bytes = Files.readAllBytes(path); ټولګي د ورکړل شوي ډیلیمټر په کارولو سره د فایل مینځپانګې برخو ته ماتوي او په ګډه برخه یې لوستل. دا لید د مینځپانګې لوستلو لپاره غوره دی چې د ډیلیمټر لخوا جلا شوی.

د مثال په توګه ، | _ _ _ _ | طبقه د انډیژور لیست لوستلو لپاره غوره ده چې د سپینو ځایونو لخوا جلا شوي یا د کوما لخوا جلا شوي تارونو لیست.

د Files اصلي ډيليميټر ټولګي سپین دی. مګر تاسو کولی شئ ډیمیټر بلې کرکټر یا منظم بیان ته وټاکئ. دا مختلف بیلابیل میتودونه هم لري ، لکه | _ _ + _ | ، newBufferedReader() ، BufferedReader ، او BufferedReader ، چې مینځپانګې په مختلف ډوله بدلوي.

import java.io.*; import java.nio.file.*; public class LargeFileReaderWithFiles {
public static void main(String[] args) throws IOException {
String file = 'src/file.txt';
Path path = Paths.get(file);
BufferedReader bufferedReader = Files.newBufferedReader(path);

String curLine;
while ((curLine = bufferedReader.readLine()) != null){

System.out.println(curLine);
}
bufferedReader.close();
} }

په پورتنۍ مثال کې ، موږ سپم رسۍ ته حد بندی ټاکو او د Stream کارول د مینځپانګې راتلونکې برخې لوستلو لپاره میتود چې د سپین ځای لخوا جلا شوی.


د ټولې دوتنې لوستل

تاسو کولی شئ | _ _ + _ | وکاروئ ټولګي په یوځل کې د ټولې دوتنې لوستلو لپاره پرته لپ چل کړئ. تاسو پاس کول import java.io.IOException; import java.nio.file.*; import java.util.stream.Stream; public class FileReaderWithFilesLines {
public static void main(String[] args) throws IOException {
String file = 'src/file.txt';
Path path = Paths.get(file);
Stream lines = Files.lines(path);

lines.forEach(s -> System.out.println(s));
lines.close();
} }
| د دې لپاره د حد ټاکونکي په توګه.

Scannerیادونه:د سکینر کلاس ترکیب شوی ندی او له همدې امله ، د تار خوندي نه دی.

پایله

لکه څنګه چې تاسو پدې لوست کې ولیدل ، جاوا ډیری میتودونه وړاندې کوي چې تاسو یې کولی شئ په خپل لاس کې د دندې د نوعیت له مخې د متن فایلونو لوستلو لپاره وټاکئ. تاسو کولی شئ | _ _ + _ | وکاروئ په لیکه د لوی فایلونو لوستل.

که تاسو غواړئ داسې فایل ولولئ چې خپل مینځپانګې د ډیلیمټر لخوا جلا شوي وي ، نو | _ _ + _ | وکاروئ ټولګی.

همدارنګه تاسو کولی شئ د جاوا NIO Scanner وکاروئ ټول کوچني او لوی فایلونه لوستل.