Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> собрать файлы за 1 день и суммировать в размерах 
:(
    Опции темы
bulat01
Дата 10.9.2013, 07:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 26.10.2010

Репутация: нет
Всего: 0



Здравствуйте все,
помогите реализовать логику,

В аргументе задаю - путь папки в сети(на другом компе).

Скрипт читает содержимое папки.

УСЛОВИЕ: собрать файлы за 1 день и суммировать в размерах (МБ) 

к примеру,
D:\\test_folder

09-09-2013 9:38 AM - test 1  10 MB
09-09-2013 9:38 AM - test 2  10 MB
09-09-2013 9:38 AM - test 3  10 MB
09-09-2013 9:38 AM - test 4  10 MB
09-09-2013 9:38 AM - test 5  10 MB

10-09-2013 10:38 AM - test 5   10 MB
10-09-2013 11:38 AM - test 5   10 MB
10-09-2013 12:38 AM - test 5   10 MB


-------------------------------------------------
Результат скрипта:

Дата:                       Общий размер файлов за день:
09-09-2013              50 MB
10-09-2013              30 MB

С уважением!






PM MAIL   Вверх
Samotnik
Дата 12.9.2013, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



Java7
Код

public class MainTest {
    static SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");

    public static void main(String[] args) throws IOException, ParseException {
        File rootFolder = new File(args[0]);
        Map<Date, Long> dateLongMap = new HashMap<Date, Long>();
        if (rootFolder.isDirectory()) {
            File[] files = rootFolder.listFiles();
            if (files != null) {
                for (File file : files) {
                    if (file.isFile()) {
                        Path path = Paths.get(file.getAbsolutePath());
                        BasicFileAttributes attributes = Files.readAttributes(path, BasicFileAttributes.class);
                        FileTime creationTime = attributes.creationTime();
                        Date formattedDate = sdf.parse(sdf.format(new Date(creationTime.toMillis())));
                        Long fileSize = dateLongMap.get(formattedDate);
                        if (fileSize != null) {
                            dateLongMap.put(formattedDate, fileSize + attributes.size());
                        } else {
                            dateLongMap.put(formattedDate, attributes.size());
                        }
                    }
                }
            }
        }
        System.out.println(dateLongMap.size());
        for (Map.Entry<Date, Long> fileSet : dateLongMap.entrySet()) {
            System.out.println(fileSet.getKey() + " : " + (fileSet.getValue()/1024));
        }
    }
}


Добавлено через 1 минуту и 50 секунд
1. Кривовато получилось smile много скобок
2. При выводе даты, формат нужно использовать
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0515 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.