|
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
|
||||||
Извлечение файлов и каталогов13.12.2010, 03:02. Показов 2595. Ответов 11
Метки нет (Все метки)
Объясните, каким образом происходит вычисление в цикле, что одно является каталогом а другое файлом.
Меня интересует цикл из этого кода, логика его работы.
0
|
||||||
| 13.12.2010, 03:02 | |
|
Ответы с готовыми решениями:
11
Архивирование определённых файлов из разных каталогов с сохранением структуры этих каталогов
Сохранение различных файлов в теле програмы (в создаваемой нами) и извлечение их(файлов) на локальный диск |
|
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
|
|
| 13.12.2010, 09:06 | |
|
s[i] это всего лишь строка с именем файла в каталоге dir. В конструктор файла дается аргумент строка, в которой указывается путь к файлу или каталогу, если указать просто s[i], то получится, что указывается имя файла, а именно путь относительный, относительно расположения программы, и, конечно, же такого файла, скорее всего, не будет "рядом" с программой, т.к. он находится в корне c:\, но как объект он создастся и будет файлом, даже если какой либо из s[i] был каталогом в c:\. Если добавить System.out.println(f.exist()); в ответ получишь false, т.к. такого файла нет.
Но если к аргументу в начале прибавить строку dir, которая равна "c:\", то в конструктор уже подается абсолютный путь к файлу или каталогу от корня с:\, и уже смотрятся реально существующие в корне с: файлы и каталоги. P.S. В java нет такого объекта как каталог, есть только файл, который может быть директорией (каталогом, папкой)
0
|
|
|
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
|
||||||
| 13.12.2010, 19:26 [ТС] | ||||||
|
1)Скажите, зачем в цикле фор, создаётся каждый раз один и тот же объект f с тем же именем f?
2)Скажите, зачем нужно за каждой итерацией переадть каждый следубщий элемент массива конструктору файл?
0
|
||||||
|
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
|
|
| 13.12.2010, 19:42 | |
|
Как я понял данная программа выводит список файлов и каталогов корня диска С
Перед циклом создается массив s, в который загоняется весь список файлов и папок корня С. В цикле по длине этого массива на каждой итерации создается объект типа File, которому передается путь к i-му файлу из списка, создается объект с одним именем, но разным содержанием, каждую итерацию - это все время другой файл для того, чтобы проверить каждый файл из списка на то, является он директорией или нет.
1
|
|
|
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
|
||||||
| 13.12.2010, 19:46 [ТС] | ||||||
|
Хорошо, скажите, а зачем передавать за каждой итерацией констурктору File передавать каждый элемент массива?
0
|
||||||
|
52 / 52 / 10
Регистрация: 25.05.2010
Сообщений: 182
|
|
| 13.12.2010, 20:33 | |
|
0
|
|
|
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
|
|
| 13.12.2010, 21:35 [ТС] | |
|
Вы написали как можно по другому, но не ответили зачем нужно за каждой итерацией
цикла конструктору передавать каждый элемент массива?
0
|
|
|
52 / 52 / 10
Регистрация: 25.05.2010
Сообщений: 182
|
|
| 13.12.2010, 21:54 | |
|
Syltan, программа перебирает всё файлы внутри заданного каталога(File t) а классифицирует их по системе каталог\обычный файл
Встречный вопрос - у вас есть абсолютный путь к директории и имя файла в этой директории, как получить абсолютный путь файла ?
0
|
|
|
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
|
|||||||
| 13.12.2010, 22:09 [ТС] | |||||||
И вы всё равно не ответили зачем конструктору передача происходит в цикле? Вот это:
0
|
|||||||
|
52 / 52 / 10
Регистрация: 25.05.2010
Сообщений: 182
|
||
| 13.12.2010, 23:16 | ||
|
S1 = "C:\\" , S2="test.txt"
0
|
||
|
241 / 9 / 7
Регистрация: 27.08.2009
Сообщений: 868
|
||||||
| 13.12.2010, 23:46 [ТС] | ||||||
|
Абсолютный путь всегда из корня считается.обратится к корневой директории, а потом по каталогам ниже спускаться
например C:\Windows будет передано конструктору. Вопрос в том,зачем это делать за каждой итерацией отправлять в конструктор? Объясните зачем это нужно конструктору, я вот это не могу понять.
0
|
||||||
|
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
|
|||||||||||||||||
| 14.12.2010, 12:20 | |||||||||||||||||
|
По шагам:
1) Берется список файлов и папок корня диска С и загоняется в виде строк в массив:
3)На каждой итерации берется i-й файл:
4)Проверяется, является ли этот файл папкой:
0
|
|||||||||||||||||
| 14.12.2010, 12:20 | |
|
Помогаю со студенческими работами здесь
12
Удаление файлов из каталогов Сортировка каталогов и файлов Поиск файлов и каталогов Копирование файлов и каталогов Чтение каталогов и файлов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|