Odczytywanie plików Java
Przeczytaj plik
W poprzednim rozdziale nauczyłeś się tworzyć i zapisywać do pliku.
W poniższym przykładzie używamy Scanner
klasy do odczytania zawartości pliku tekstowego, który utworzyliśmy w poprzednim rozdziale:
Przykład
import java.io.File; // Import the File class
import java.io.FileNotFoundException; // Import this class to handle errors
import java.util.Scanner; // Import the Scanner class to read text files
public class ReadFile {
public static void main(String[] args) {
try {
File myObj = new File("filename.txt");
Scanner myReader = new Scanner(myObj);
while (myReader.hasNextLine()) {
String data = myReader.nextLine();
System.out.println(data);
}
myReader.close();
} catch (FileNotFoundException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
Wynikiem będą:
Files in Java might be tricky, but it is fun enough!
Uzyskaj informacje o pliku
Aby uzyskać więcej informacji o pliku, użyj dowolnej z File
metod:
Przykład
import java.io.File; // Import the File class
public class GetFileInfo {
public static void main(String[] args) {
File myObj = new File("filename.txt");
if (myObj.exists()) {
System.out.println("File name: " + myObj.getName());
System.out.println("Absolute path: " + myObj.getAbsolutePath());
System.out.println("Writeable: " + myObj.canWrite());
System.out.println("Readable " + myObj.canRead());
System.out.println("File size in bytes " + myObj.length());
} else {
System.out.println("The file does not exist.");
}
}
}
Wynikiem będą:
File name: filename.txt
Absolute path: C:\Users\MyName\filename.txt
Writeable: true
Readable: true
File size in bytes: 0
Uwaga: w Java API dostępnych jest wiele klas, których można używać do odczytywania i zapisywania plików w Javie: FileReader, BufferedReader, Files, Scanner, FileInputStream, FileWriter, BufferedWriter, FileOutputStream
itd. Która z nich ma być użyta, zależy od wersji Javy, z którą pracujesz i od tego, czy musisz czytać bajty, czy znaki, oraz rozmiar pliku/wierszy itp.
Wskazówka: Aby usunąć plik, przeczytaj rozdział Java Delete Files .