В Java класс File представляет файлы и пути каталогов в абстрактной манере. Этот класс используется для создания, поиска, удаления файлов и каталогов и т.д.
Конструкторы
File-объект представляет собой фактический файл или каталог на диске. Ниже приведен список конструкторов для создания file-объекта.
№ | Конструктор и описание |
1 | File(File parent, String child) Конструктор создает новый экземпляр файла из родительского абстрактного пути и строки дочернего пути. |
2 | File(String pathname) Конструктор создает новый экземпляр файла, преобразовывая указанную строку pathname в абстрактный путь. |
3 | File(String parent, String child) Конструктор создает новый экземпляр файла из строки родительского пути и строки дочернего пути. |
4 | File(URI uri) Конструктор создает новый экземпляр файла, преобразовывая данный файл: URI в абстрактный путь. |
Методы
Если Вы используйте file-объекты, то у Вас есть под рукой список вспомогательных методов, которые можно использовать для управления файлами.
№ | Метод и описание |
1 | public String getName() Возвращает имя файла или каталога, по указанному абстрактному имени пути. |
2 | public String getParent() Возвращает строковый путь родителя абстрактного пути, или null, если путь не указывает родительский каталог. |
3 | public File getParentFile() Возвращает абстрактный путь родителя абстрактного пути, или null, если путь не указывает родительский каталог. |
4 | public String getPath() Преобразует абстрактный путь в строку. |
5 | public boolean isAbsolute() Провяет, является ли абстрактный путь абсолютным. Возвращает true, если абстрактный путь является абсолютным, иначе false. |
6 | public String getAbsolutePath() Возвращает строкой абсолютный путь. |
7 | public boolean canRead() Проверяет, может ли приложение прочитать файл, по указанному абстрактному имени пути. Возвращает true тогда и только тогда, когда файл, указанный в абстрактном пути, существует и может быть прочитан приложением; в противном случае false. |
8 | public boolean canWrite() Проверяет, может ли приложение изменять файл, по указанному абстрактному имени пути. Возвращает true тогда и только тогда, когда файловая система фактически содержит файл, по указанному абстрактному имени пути, и приложению разрешено записывать в файл; в противном случае false. |
9 | public boolean exists() Проверяет, существует ли файл или каталог, по указанному абстрактному имени пути. Возвращает true тогда и только тогда, когда существует файл или каталог, по указанному абстрактному имени пути; в противном случае false. |
10 | public boolean isDirectory() Проверяет, является ли файл, по указанному абстрактному имени пути, каталогом. Возвращает true тогда и только тогда, когда файл, обозначенный этим абстрактным именем, существует и является каталогом; в противном случае false. |
11 | public boolean isFile() Проверяет, является ли файл, по указанному абстрактному имени пути, нормальным файлом. Файл является нормальным, если он не является каталогом и, кроме того, удовлетворяет другим системным критериям. Любой файл без каталога, созданный приложением Java, гарантированно является нормальным файлом. Возвращает true тогда и только тогда, когда файл, обозначенный этим абстрактным пустым именем, существует и является нормальным файлом; в противном случае false. |
12 | public long lastModified() Возвращает время последнего изменения файла, по указанному абстрактному имени пути. Возвращает длинное значение, представляющее время последнего изменения файла, измеренное в миллисекундах с эпохи (00:00:00 GMT, 1 января 1970 г.) или 0L, если файл не существует или возникает ошибка ввода-вывода. |
13 | public long length() Возвращает длину файла, обозначенного этим абстрактным именем пути. Возвращаемое значение не указано, если путь указывает на каталог. |
14 | public boolean createNewFile() throws IOException Атомарно создает новый пустой файл, названный этим абстрактным именем пути, тогда и только тогда, когда файл с этим именем еще не существует. Возвращает true, если названный файл не существует и был успешно создан; false, если именованный файл уже существует. |
15 | public boolean delete() Удаляет файл или каталог, по указанному абстрактному имени пути. Если это имя пути обозначает каталог, каталог должен быть пустым, чтобы его можно было удалить. Возвращает true тогда и только тогда, когда файл или каталог успешно удалены; в противном случае false. |
16 | public void deleteOnExit() Просит, чтобы файл или каталог, обозначенные данным абстрактным пустым именем, были удалены при завершении работы виртуальной машины. |
17 | public String[] list() Возвращает массив строк, называющий файлы и каталоги в каталоге, обозначаемом этим абстрактным именем пути. |
18 | public String[] list(FilenameFilter filter) Возвращает массив строк, называющий файлы и каталоги в каталоге, обозначаемом этим абстрактным пустым именем пути, которое удовлетворяет указанному фильтру. |
19 | public File[] listFiles() Возвращает массив абстрактных путей, обозначающих файлы в каталоге, обозначаемом этим абстрактным именем пути. |
20 | public File[] listFiles(FileFilter filter) Возвращает массив абстрактных путей, обозначающих файлы и каталоги в каталоге, обозначаемом этим абстрактным пустым именем пути, которое удовлетворяет указанному фильтру. |
21 | public boolean mkdir() Создает каталог с именем этого абстрактного пути. Возвращает true тогда и только тогда, когда каталог был создан, в противном случае false. |
22 | public boolean mkdirs() Создает каталог с именем этого абстрактного пути, включая любые необходимые, но несуществующие родительские каталоги. Возвращает true тогда и только тогда, когда каталог был создан вместе со всеми необходимыми родительскими каталогами, в противном случае false. |
23 | public boolean renameTo(File dest) Переименовывает файл, обозначенный этим абстрактным пустым именем. Возвращает true тогда и только тогда, когда переименование выполнено успешно, в противном случае false. |
24 | public boolean setLastModified(long time) Устанавливает последней модификацией время файла или каталога с именем этого абстрактного пути. Возвращает true тогда и только тогда, когда операция выполнена успешно, в противном случае false. |
25 | public boolean setReadOnly() Помечает файл или каталог с именем этого абстрактного пути, чтобы разрешить только операции чтения. Возвращает true тогда и только тогда, когда операция выполнена успешно, в противном случае false. |
26 | public static File createTempFile(String prefix, String suffix, File directory) throws IOException Создает новый пустой файл в указанном каталоге, используя строковые prefix и suffix, чтобы сгенерировать его имя. Возвращает абстрактный путь, обозначающий вновь созданный пустой файл. |
27 | public static File createTempFile(String prefix, String suffix) throws IOException Создает пустой файл в каталоге временных файлов по умолчанию, используя данные prefix и suffix, чтобы сгенерировать его имя. Вызов этого метода эквивалентен вызову createTempFile(prefix, suffix, null). Возвращает абстрактное имя пути, обозначающее вновь созданный пустой файл. |
28 | public int compareTo(File pathname) Сравнивает лексикографически два абстрактных пути. Возвращает ноль, если аргумент равен этому абстрактному пути, значение меньше нуля, если это абстрактное имя пути лексикографически меньше аргумента или значение больше нуля, если этот абстрактный путь лексикографически больше аргумента. |
29 | public int compareTo(Object o) Сравнивает этот абстрактный путь с другим объектом. Возвращает ноль, если аргумент равен этому абстрактному пути, значение меньше нуля, если это абстрактное имя пути лексикографически меньше аргумента или значение больше нуля, если этот абстрактный путь лексикографически больше аргумента. |
30 | public boolean equals(Object obj) Проверяет этот абстрактный путь на равенство с данным объектом. Возвращает true тогда и только тогда, когда аргумент не является нулевым и представляет собой абстрактный путь, который обозначает тот же файл или каталог, что и этот абстрактный путь. |
31 | public String toString() Возвращает строковый путь этого абстрактного пути. Это просто строка, возвращаемая методом getPath(). |
Пример
Ниже приведен пример демонстрации объекта File:
Учтите, что существует исполняемый файл First.txt, а другой файл Second.txt не исполняется в текущем каталоге. Скомпилируем и запустим указанную выше программу. Это приведет к следующему результату:
package test;
import java.io.File;
public class Test {
public static void main(String[] args) {
File f = null;
String[] strs = {"First.txt", "Second.txt"};
try {
// для каждой строки в массиве строк
for(String s:strs ) {
// создание нового файла
f = new File(s);
// true, если файл является исполняемым
boolean bool = f.canExecute();
// нахождение абсолютного пути
String a = f.getAbsolutePath();
// вывод абсолютного пути
System.out.print(a);
// вывод
System.out.println(" исполняется: " + bool);
}
} catch (Exception e) {
// если любая ошибка ввода/вывода
e.printStackTrace();
}
}
}
Получим следующий результат:
E:\Soft\NetBeans 8.2\Projects\test\test\First.txt исполняется: false
E:\Soft\NetBeans 8.2\Projects\test\test\Second.txt исполняется: false
Получим следующий результат, если существует исполняемый файл First.txt:
E:\Soft\NetBeans 8.2\Projects\test\test\First.txt исполняется: true
E:\Soft\NetBeans 8.2\Projects\test\test\Second.txt исполняется: false
Оглавление
- 1. Java – Самоучитель для начинающих
- 2. Java – Обзор языка
- 3. Java – Установка и настройка
- 4. Java – Синтаксис
- 5. Java – Классы и объекты
- 6. Java – Конструкторы
- 7. Java – Типы данных и литералы
- 8. Java – Типы переменных
- 9. Java – Модификаторы
- 10. Java – Операторы
- 11. Java – Циклы и операторы цикла
- 11.1. Java – Цикл while
- 11.2. Java – Цикл for
- 11.3. Java – Улучшенный цикл for
- 11.4. Java – Цикл do..while
- 11.5. Java – Оператор break
- 11.6. Java – Оператор continue
- 12. Java – Операторы принятия решений
- 12.1. Java – Оператор if
- 12.2. Java – Оператор if..else
- 12.3. Java – Вложенный оператор if
- 12.4. Java – Оператор switch..case
- 12.5. Java – Условный оператор (? :)
- 13. Java – Числа
- 13.1. Java – Методы byteValue(), shortValue(), intValue(), longValue(), floatValue(), doubleValue()
- 13.2. Java – Метод compareTo()
- 13.3. Java – Метод equals()
- 13.4. Java – Метод valueOf()
- 13.5. Java – Метод toString()
- 13.6. Java – Метод parseInt()
- 13.7. Java – Метод Math.abs()
- 13.8. Java – Метод Math.ceil()
- 13.9. Java – Метод Math.floor()
- 13.10. Java – Метод Math.rint()
- 13.11. Java – Метод Math.round()
- 13.12. Java – Метод Math.min()
- 13.13. Java – Метод Math.max()
- 13.14. Java – Метод Math.exp()
- 13.15. Java – Метод Math.log()
- 13.16. Java – Метод Math.pow()
- 13.17. Java – Метод Math.sqrt()
- 13.18. Java – Метод Math.sin()
- 13.19. Java – Метод Math.cos()
- 13.20. Java – Метод Math.tan()
- 13.21. Java – Метод Math.asin()
- 13.22. Java – Метод Math.acos()
- 13.23. Java – Метод Math.atan()
- 13.24. Java – Метод Math.atan2()
- 13.25. Java – Метод Math.toDegrees()
- 13.26. Java – Метод Math.toRadians()
- 13.27. Java – Метод Math.random()
- 14. Java – Символы
- 14.1. Java – Метод Character.isLetter()
- 14.2. Java – Метод Character.isDigit()
- 14.3. Java – Метод Character.isWhitespace()
- 14.4. Java – Метод Character.isUpperCase()
- 14.5. Java – Метод Character.isLowerCase()
- 14.6. Java – Метод Character.toUpperCase()
- 14.7. Java – Метод Character.toLowerCase()
- 14.8. Java – Метод Character.toString()
- 15. Java – Строки
- 15.1. Java – Метод charAt()
- 15.2. Java – Метод compareTo()
- 15.3. Java – Метод compareToIgnoreCase()
- 15.4. Java – Метод concat()
- 15.5. Java – Метод contentEquals()
- 15.6. Java – Метод copyValueOf()
- 15.7. Java – Метод endsWith()
- 15.8. Java – Метод equals()
- 15.9. Java – Метод equalsIgnoreCase()
- 15.10. Java – Метод getBytes()
- 15.11. Java – Метод getChars()
- 15.12. Java – Метод hashCode()
- 15.13. Java – Метод indexOf()
- 15.14. Java – Метод intern()
- 15.15. Java – Метод lastIndexOf()
- 15.16. Java – Метод length()
- 15.17. Java – Метод matches()
- 15.18. Java – Метод regionMatches()
- 15.19. Java – Метод replace()
- 15.20. Java – Метод replaceAll()
- 15.21. Java – Метод replaceFirst()
- 15.22. Java – Метод split()
- 15.23. Java – Метод startsWith()
- 15.24. Java – Метод subSequence()
- 15.25. Java – Метод substring()
- 15.26. Java – Метод toCharArray()
- 15.27. Java – Метод toLowerCase()
- 15.28. Java – Метод toString()
- 15.29. Java – Метод toUpperCase()
- 15.30. Java – Метод trim()
- 15.31. Java – Метод valueOf()
- 15.32. Java – Классы StringBuilder и StringBuffer
- 15.32.1. Java – Метод append()
- 15.32.2. Java – Метод reverse()
- 15.32.3. Java – Метод delete()
- 15.32.4. Java – Метод insert()
- 15.32.5. Java – Метод replace()
- 16. Java – Массивы
- 17. Java – Дата и время
- 18. Java – Регулярные выражения
- 19. Java – Методы
- 20. Java – Потоки ввода/вывода, файлы и каталоги
- 20.1. Java – Класс ByteArrayInputStream
- 20.2. Java – Класс DataInputStream
- 20.3. Java – Класс ByteArrayOutputStream
- 20.4. Java – Класс DataOutputStream
- 20.5. Java – Класс File
- 20.6. Java – Класс FileReader
- 20.7. Java – Класс FileWriter
- 21. Java – Исключения
- 21.1. Java – Встроенные исключения
- 22. Java – Вложенные и внутренние классы
- 23. Java – Наследование
- 24. Java – Переопределение
- 25. Java – Полиморфизм
- 26. Java – Абстракция
- 27. Java – Инкапсуляция
- 28. Java – Интерфейсы
- 29. Java – Пакеты
- 30. Java – Структуры данных
- 30.1. Java – Интерфейс Enumeration
- 30.2. Java – Класс BitSet
- 30.3. Java – Класс Vector
- 30.4. Java – Класс Stack
- 30.5. Java – Класс Dictionary
- 30.6. Java – Класс Hashtable
- 30.7. Java – Класс Properties
- 31. Java – Коллекции
- 31.1. Java – Интерфейс Collection
- 31.2. Java – Интерфейс List
- 31.3. Java – Интерфейс Set
- 31.4. Java – Интерфейс SortedSet
- 31.5. Java – Интерфейс Map
- 31.6. Java – Интерфейс Map.Entry
- 31.7. Java – Интерфейс SortedMap
- 31.8. Java – Класс LinkedList
- 31.9. Java – Класс ArrayList
- 31.10. Java – Класс HashSet
- 31.11. Java – Класс LinkedHashSet
- 31.12. Java – Класс TreeSet
- 31.13. Java – Класс HashMap
- 31.14. Java – Класс TreeMap
- 31.15. Java – Класс WeakHashMap
- 31.16. Java – Класс LinkedHashMap
- 31.17. Java – Класс IdentityHashMap
- 31.18. Java – Алгоритмы Collection
- 31.19. Java – Iterator и ListIterator
- 31.20. Java – Comparator
- 32. Java – Дженерики
- 33. Java – Сериализация
- 34. Java – Сеть
- 34.1. Java – Обработка URL
- 35. Java – Отправка Email
- 36. Java – Многопоточность
- 36.1. Java – Синхронизация потоков
- 36.2. Java – Межпоточная связь
- 36.3. Java – Взаимная блокировка потоков
- 36.4. Java – Управление потоками
- 37. Java – Основы работы с апплетами
- 38. Java – Javadoc