Можно ли закрыть исходный файл (file.close();) в Java?
Я создаю новый файл
File f = new File(file_path);
тогда конец программы я могу закрыть этот файл объект или файл?
f.close();
еще есть способ закрыть файл??
public class etest2read {
public static void main(String[] args) throws IOException {
File dir = new File("input");
String source = dir.getCanonicalPath() + File.separator + "TestFile.txt";
//String TestFileone = dir.getCanonicalPath() + File.separator + "TestFileone.txt";
File fin = new File(source);
FileInputStream fis = new FileInputStream(fin);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
System.out.println("file/folder: "+fin.getAbsolutePath());
System.out.println("file/folder: "+dir.getCanonicalPath());
System.out.println("file/folder: "+fin.lastModified());
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
// Print the content on the console
System.out.println (strLine);
}
//Close the input stream
br.close();
System.out.println("Closed Buffered Reader");
fis.close();
System.out.println("Closed File Input Stream");
fin.close(); // providing the error
}
}
2 ответа
Нет, это невозможно.
Файл - это абстрактное представление пути к файлу или каталогу. Вы не открываете Файл, только Поток или Читатель в этом Файле.
Нет. Вы можете только закрывать экземпляры объектов, которые реализуют интерфейс Closeable (пример Reader
, InputStream
так далее). File
класс не реализует Closeable
, Как говорит Буркахард, это просто абстрактное представление основного файла / каталога