Файлы чтения Java
Прочитать файл
В предыдущей главе вы узнали, как создавать и записывать в файл.
В следующем примере мы используем Scanner
класс для чтения содержимого текстового файла, созданного в предыдущей главе:
Пример
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();
}
}
}
Вывод будет:
Files in Java might be tricky, but it is fun enough!
Получить информацию о файле
Чтобы получить дополнительную информацию о файле, используйте любой из File
методов:
Пример
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.");
}
}
}
Вывод будет:
File name: filename.txt
Absolute path: C:\Users\MyName\filename.txt
Writeable: true
Readable: true
File size in bytes: 0
Примечание. В Java API есть много доступных классов, которые можно использовать для чтения и записи файлов в Java: FileReader, BufferedReader, Files, Scanner, FileInputStream, FileWriter, BufferedWriter, FileOutputStream
и т. д. Какой из них использовать, зависит от версии Java, с которой вы работаете, и от того, нужно ли вам читать байты или символы, и размер файла/строк и т.д.
Совет: Чтобы удалить файл, прочтите главу Java Delete Files .