powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / ПОмогите новичку. Иерархия каталога
9 сообщений из 9, страница 1 из 1
ПОмогите новичку. Иерархия каталога
    #34089331
xandr_ukr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полизил по форуму. Не нашел нужного мне.
Вообщем ситуация такова. необходимо запуская программу с любого места (любого каталога на машине), получить иерархию вложенных каталогов, типа ...
Documents and Settings
Documents and Settings\Admin
Documents and Settings\All Users
и т.д.

Как реализовать ??? Может где готовый пример есть ????
...
Рейтинг: 0 / 0
ПОмогите новичку. Иерархия каталога
    #34089452
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
класс File вам в помощь
...
Рейтинг: 0 / 0
ПОмогите новичку. Иерархия каталога
    #34089541
xandr_ukr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что я попробовал написать, може кто предложит вариант поинтерестней

import java.io.File;

class DirList {

public void scan(String dirname)
{
File f1 = new File(dirname);

if (f1.isDirectory())
{ // является ли f1 каталогом

// System.out.println("Directory of " + dirname);

String s[] = f1.list();

for (int i = 0; i < s.length; i++)
{
File f = new File(dirname + "/" + s );
if (f.isDirectory())
{
// является ли f каталогом
System.out.println(dirname + "/"+s);
if (f.isFile())
System.out.println(s + " is a file");
}
scan(dirname + "/"+s);
}
}
}

public static void main(String args[])
{
DirList d = new DirList();
d.scan(".");
}

}
...
Рейтинг: 0 / 0
ПОмогите новичку. Иерархия каталога
    #34089553
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я-бы сделал так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
import java.io.File;

class DirList {

// меньше строковых операций ИМХО.
public void scan(File dirname)
{

// bla-bla....

File f = new File(dirname,s);

// bla-bla....

}

public static void main(String args[])
{
DirList d = new DirList();
d.scan(new File("."));

}

}
...
Рейтинг: 0 / 0
ПОмогите новичку. Иерархия каталога
    #34093814
xandr_ukr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Люди добрые, помогите новичку объектного программирования реализовать плоский код объектно.
т.е. через 2 класса
1. Каталог
2. Что-то выполняющее над каталогом действия

вот код

import java.io.File;

/*
Написать прогу, которая, будучи запущенной в некотором каталоге Х,

1) выводит список подкаталогов любой вложенности этого каталога, например если запустить из
корня диска С, то должно быть

Documents and Settings
Documents and Settings\Admin
Documents and Settings\All Users
....
Program Files
Program Files\ABBYY Lingvo 11 Six Languages
Program Files\ACD
....
и т.д.

2) Для каждого каталога выводит
а) его размер включая размер подкаталогов,
б) размер не включая размер подкаталогов
в) количество файлов не включая файлы в подкаталогах
*/

class ScanDir {

/** Creates a new instance of ScanDir */

static long getFilesSize(String f)
{
long j = 0;
File[] flist = new File(f).listFiles();
for (int i=0; i < flist.length; i++)
if (flist .isFile()) j = j + flist.length();
return (j);
}

public static String getTotalFileSize(String files)
{
File f;
File[] filenames;
long size = 0;
String[] filelist = files.split("\n");
for (int i=0; i<filelist.length; i++)
{
f = new File(filelist);
size += getSize(f);
}
return new String().valueOf(size);
}

public static long getSize(File file)
{
if (file.isFile())
return file.length();
File[] files = file.listFiles();
long size = 0;
if (files != null)
{
for (int i = 0; i < files.length; i++)
size += getSize(files);
}
return size;
}

static int FileCount(String f)
{
int j = 0;
File[] dlist = new File(f).listFiles();
for (int i=0; i < dlist.length; i++) if (dlist.isFile()) j++;
return (j);
}

public static void GetDirList(String dir) {

File[] dlist = new File(dir).listFiles();
/*
2) Для каждого каталога выводит
а) его размер включая размер подкаталогов,
б) размер не включая размер подкаталогов
в) количество файлов не включая файлы в подкаталогах
*/
for (int i=0; i < dlist.length; i++)
{
if (dlist.isDirectory())
{
String DirSize = getTotalFileSize(dlist.getAbsolutePath());
long FileSize = getFilesSize(dlist.getAbsolutePath());
int Files = FileCount(dlist.getAbsolutePath());

String buff = "Dir: " + dlist.getAbsolutePath()
+ " Size (in subdirectories):" + DirSize + " bytes "
+ " Size (not in subdirectories):" + FileSize + " bytes "
+ " Files:" + Files;
System.out.println(buff);
GetDirList(dlist.getAbsolutePath());
}
}

}

public static void main(String args[])
{
String dir = ".";
GetDirList(dir);
}
}
...
Рейтинг: 0 / 0
ПОмогите новичку. Иерархия каталога
    #34095787
xandr_ukr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неужели так никто и не поможет ......
...
Рейтинг: 0 / 0
ПОмогите новичку. Иерархия каталога
    #34095929
он же
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жизнь такое говно :(

См. аттач.
...
Рейтинг: 0 / 0
ПОмогите новичку. Иерархия каталога
    #34095930
он же
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
level там не нужен, кстати
забыл убрать
...
Рейтинг: 0 / 0
ПОмогите новичку. Иерархия каталога
    #34095936
он же
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Количество файлов там тоже есть, забыл вывести :)
Потому что пиво :о)

Кстати, может быть в Java есть какие-нибудь простые способы получения размера каталога. Я поленился искать, а вы поищите :)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / ПОмогите новичку. Иерархия каталога
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]