הקדמה
במאמר זה, תלמד על דרכים שונות להשתמש ב-Java לקריאת תוכן של קובץ שורה אחרי שורה. במאמר זה משתמשים בשיטות ממחלקות ה-Java הבאות: java.io.BufferedReader
, java.util.Scanner
, Files.readAllLines()
, ו-java.io.RandomAccessFile
.
קריאת קובץ שורה אחרי שורה באמצעות BufferedReader
ניתן להשתמש בשיטת readLine()
ממחלקת java.io.BufferedReader
כדי לקרוא קובץ שורה אחרי שורה לתוך מחרוזת. השיטה מחזירה null
כאשר מגיעים לסיום הקובץ.
כאן דוגמה לתוכנית לקריאת קובץ שורה אחרי שורה עם BufferedReader
:
package com.journaldev.readfileslinebyline;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileLineByLineUsingBufferedReader {
public static void main(String[] args) {
BufferedReader reader;
try {
reader = new BufferedReader(new FileReader("sample.txt"));
String line = reader.readLine();
while (line != null) {
System.out.println(line);
// קרא שורה הבאה
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
המשך ללמוד עם BufferedReader
API Doc (Java SE 8).
קריאת קובץ שורה אחרי שורה באמצעות Scanner
ניתן להשתמש במחלקת Scanner
כדי לפתוח קובץ ולקרוא את התוכנו שורה אחר שורה.
כאן דוגמה לתכנית שקוראת קובץ שורה אחר שורה עם Scanner
:
package com.journaldev.readfileslinebyline;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ReadFileLineByLineUsingScanner {
public static void main(String[] args) {
try {
Scanner scanner = new Scanner(new File("sample.txt"));
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
המשך ללמוד עם Scanner
API Doc (Java SE 8).
קריאת קובץ שורה אחר שורה באמצעות Files
java.nio.file.Files
היא מחלקת יוליטי שמכילה מספר שיטות שימושיות. שיטת readAllLines()
יכולה לשמש לקריאת כל השורות בקובץ לתוך רשימה של מחרוזות.
כאן דוגמה לתכנית שקוראת קובץ שורה אחר שורה עם Files
:
package com.journaldev.readfileslinebyline;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
public class ReadFileLineByLineUsingFiles {
public static void main(String[] args) {
try {
List<String> allLines = Files.readAllLines(Paths.get("sample.txt"));
for (String line : allLines) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
המשך את למידתך עם Files
API Doc (Java SE 8).
קריאת קובץ שורה-אחר-שורה באמצעות RandomAccessFile
ניתן להשתמש ב־RandomAccessFile
כדי לפתוח קובץ במצב קריאה ולאחר מכן להשתמש בשיטת readLine
שלו כדי לקרוא קובץ שורה-אחר-שורה.
הנה דוגמה לתוכנית לקריאת קובץ שורה-אחר-שורה עם RandomAccessFile
:
package com.journaldev.readfileslinebyline;
import java.io.IOException;
import java.io.RandomAccessFile;
public class ReadFileLineByLineUsingRandomAccessFile {
public static void main(String[] args) {
try {
RandomAccessFile file = new RandomAccessFile("sample.txt", "r");
String str;
while ((str = file.readLine()) != null) {
System.out.println(str);
}
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
המשך את למידתך עם RandomAccessFile
API Doc (Java SE 8).
סיכום
במאמר זה, למדת על דרכים שונות להשתמש ב־Java לקריאת תוכן של קובץ שורה-אחר-שורה.
המשך את למידתך עם מדריכי Java.
Source:
https://www.digitalocean.com/community/tutorials/java-read-file-line-by-line