Можно ли закрыть исходный файл (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, Как говорит Буркахард, это просто абстрактное представление основного файла / каталога

Другие вопросы по тегам