Java Read Files
Přečtěte si soubor
V předchozí kapitole jste se naučili vytvářet a zapisovat do souboru.
V následujícím příkladu použijeme Scanner
třídu ke čtení obsahu textového souboru, který jsme vytvořili v předchozí kapitole:
Příklad
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();
}
}
}
Výstupem bude:
Files in Java might be tricky, but it is fun enough!
Získejte informace o souboru
Chcete-li získat další informace o souboru, použijte některou z File
metod:
Příklad
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.");
}
}
}
Výstupem bude:
File name: filename.txt
Absolute path: C:\Users\MyName\filename.txt
Writeable: true
Readable: true
File size in bytes: 0
Poznámka: V Java API je mnoho dostupných tříd, které lze použít ke čtení a zápisu souborů v Javě: FileReader, BufferedReader, Files, Scanner, FileInputStream, FileWriter, BufferedWriter, FileOutputStream
atd. Kterou z nich použít, závisí na verzi Java, se kterou pracujete, a zda potřebujete číst bajty nebo znaky, a velikost souboru/řádků atd.
Tip: Chcete-li odstranit soubor, přečtěte si kapitolu Java Delete Files .