Java Урок 52: ПОТОКИ ВВОДА-ВЫВОДА, класс File

File — единственный объект в java.io, который работает непосредственно с дисковыми файлами. Файлы являются основными ресурсами для постоянного хранения и совместного использования информации.

Скачать исходники для статьи можно ниже

Каталог в Java трактуется как обычный файл, но с дополнительным свойством — списком имен файлов, который можно просмотреть с
помощью метода list.

Для определения стандартных свойств объекта в классе File есть много разных методов. Класс File несимметричен. Есть много методов, позволяющих узнать свойства объекта, но соответствующие функции для изменения этих свойств отсутствуют.
Большинство методов класса File просты в применении и интуитивно понятны.
В примере используются различные методы класса File:

class Override {
   public static void main(String[] args) throws IOException {
      File dir1 = new File("New Dir");
      // создается каталог
      dir1.mkdir();
      // проверяется, существует ли каталог?
      System.out.println("Каталог '" + dir1.getName() + "' существует? " + dir1.exists());
      // проверяется, dir1 файл?
      System.out.println(dir1.getName() + " файл? " + dir1.isFile());
      // проверяется, dir1 каталог?
      System.out.println(dir1.getName() + " каталог? " + dir1.isDirectory());
      File dir2 = new File("New Directory");
      // каталог dir1 переименуется в каталог dir2
      dir1.renameTo(dir2);
      System.out.println("Каталог '" + dir1.getName() + "' существует? " + dir1.exists());
      System.out.println("Каталог '" + dir2.getName() + "' существует? " + dir2.exists());
      File dir3 = new File("New Direc");
      dir3.mkdir();
      System.out.println("Каталог '" + dir3.getName() + "' существует? " + dir3.exists());
      // каталог dir3 удаляется
      dir3.delete();
      System.out.println("Каталог '" + dir3.getName() + "' существует? " + dir3.exists());
      System.out.println();
      File file1 = new File("file1.txt");
      // создается файл
      file1.createNewFile();
      System.out.println("Файл '" + file1.getName() + "' существует? " + file1.exists());
      // выводится путь файла
      System.out.println("Абсолютный путь-" + file1.getAbsolutePath());
      File file2 = new File("file2.txt");
      file2.createNewFile();
      System.out.println("Абсолютный путь-" + file2.getAbsolutePath());
      File file3 = new File("file3.txt");
      System.out.println("Абсолютный путь-" + file3.getAbsolutePath());
      file2.renameTo(file3);
      System.out.println("Файл '" + file2.getName() + "' существует? " + file2.exists());
      System.out.println("Файл '" + file3.getName() + "' существует? " + file3.exists());
      file3.delete();
      System.out.println("Файл '" + file3.getName() + "' существует? " + file3.exists());
      System.out.println();
      // проверяется можно ли читать файл
      System.out.println("Можно читать " + file1.canRead());
      // проверяется можно ли писать в файл
      System.out.println("Можно писать " + file1.canWrite());
      // устанавливается запрет на запись в файл
      file1.setReadOnly();
      System.out.println("Можно писать " + file1.canWrite());
      System.out.println();
      // выводит размер файла
      System.out.println("Файл занимает - " + file1.length() + " КБ");
      // выводит количество свободного места на диске
      System.out.println("Свободно - " + file1.getTotalSpace() + " КБ");
      // выводит количество свободного места на диске для записи
      System.out.println("Свободно для записи - " + file1.getFreeSpace() + " КБ");
      file1.getFreeSpace();

      // выводит время последней модификации файла
      System.out.println("Время модификации - " + file1.lastModified());
      System.out.println();
      String way = "C:\\\\Users\\\\User\\\\workspace\\\\Test23\\\\";
      File direc = new File(way);
      System.out.println("Каталог '" + direc.getName() + "' существует? " + direc.exists());
      if (direc.isDirectory()) {
         System.out.println("В каталоге " + direc.getName() + " расположены:");
      // формирует массив из элементов в каталоге
         String s[] = direc.list();
         for (int i = 0; i < s.length; i++) {
            File file = new File(way + s[i]);
            if (file.isDirectory()) {
               System.out.println("каталог " + file.getName());
            } else {
               System.out.println("файл " + file.getName());
            }
         }
      }
   }
}

Вывод программы:
Каталог ‘New Dir’ существует? true
New Dir файл? false
New Dir каталог? true
Каталог ‘New Dir’ существует? false
Каталог ‘New Directory’ существует? true
Каталог ‘New Direc’ существует? true
Каталог ‘New Direc’ существует? false

Файл ‘file1.txt’ существует? true
Абсолютный путь-«C:\\\\Users\\\\User\\\\workspace\\\\Test23\\\\file1.txt»
Абсолютный путь-«C:\\\\Users\\\\User\\\\workspace\\\\Test23\\\\file2.txt»
Абсолютный путь-«C:\\\\Users\\\\User\\\\workspace\\\\Test23\\\\file3.txt»
Файл ‘file2.txt’ существует? false
Файл ‘file3.txt’ существует? true
Файл ‘file3.txt’ существует? false

Можно читать true
Можно писать true
Можно писать false

Файл занимает — 0 КБ
Свободно — 146002669568 КБ
Свободно для записи — 95365177344 КБ
Время модификации — 1419017143466

Каталог ‘Test23’ существует? true
В каталоге Test23 расположены:
файл .classpath
файл .project
каталог .settings
каталог bin
файл file1.txt
каталог New Directory
каталог src

Введите свой email адрес для того, чтобы подписаться на мой блог:


knopkisoc

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *