Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

Насос вихревой под заказ. Перейти в каталог вихревых насосов. . купить диван в офис в екатеринбурге . Туры в Турцию Дешевые авиабилеты и путевки бронирование отелей онлайн на горящие туры

Если объект File содержит относительный маршрут к файлу/подкаталогу, то его можно преобразовать в абсолютный методами getAbsoluteFile() или getAbsolutePath() (первый возвращает File, второй – String). Все, что делают эти методы, – добавляют перед началом относительного пути маршрут к текущему каталогу. Эти методы исключений не порождают, но могут вызвать обращение к диску для определения текущего каталога.

Два похожих метода – getCanonicalFile() и getCanonical-Path() – делают несколько больше. Пользуясь средствами операционной системы, они пытаются привести имя файла/подкаталога к единообразному виду, одинаковому для одинаковых реальных положений файла/подкаталога в файловой системе. Например, на моем компьютере (Windows XP) c текущим основным диском E: вызовы:

  (new File("\tm/../tm/1.txt")).getCanonicalPath()

и

(new File("e://tm/1.txt")).getCanonicalPath()

возвращают одинаковую строку:

  E: m1.txt

Каталога E: m у меня на самом деле нет. Если бы он был, но реально назывался «TM» (заглавными буквами), то указанные вызовы вернули бы строку:

  E:TM1.txt

так как с точки зрения Windows каталоги «E: m» и «E:TM» идентичны. Методы getCanonicalFile() и getCanonicalPath(), разумеется, не гарантируют получения одного результата для всех возможных маршрутов к одному и тому же файлу/подкаталогу. Скажем, в случае Windows они «ничего не знают» о маршрутах в локальной сети типа «\имя_моего_компьютераe m1.txt». Эти методы могут порождать исключение IOException.

Главные методы класса File, обеспечивающие «навигацию» по файловой системе, следующие:

  public File getParentFile()

  public String getParent()

  public String getName()

  public File[] listFiles()

  public File[] listFiles(FileFilter filter)

  public String[] list()

  public String[] list(FilenameFilter filter)

  public static File[] listRoots()

А также уже упомянутые конструкторы:

  public File(File parent, String child)

  public File(String parent, String child)

Смысл их достаточно понятен, а точное поведение можно узнать из документации. Я бы только обратил внимание (это легко не заметить при изучении документации), что методы list возвращают в массиве строк короткие имена файлов (не включающие путь к родительскому каталогу), в то время как listFiles возвращают маршруты, содержащие в начале родительский маршрут. Причем, если объект File, у которого вызывается один из методов listFiles, представляет относительный маршрут, то пути в полученном массиве маршрутов тоже будут относительными.


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2016 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100