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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание файлов и папок на java в сервлете, Подскажите, а как создаватьь папки? 
:(
    Опции темы
yario
Дата 16.6.2008, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Подскажите, а как создать папку на java в сервлете? как копировать файл, дублировать, переименовать файл?
самое главное мне это как создать папку? То есть файл с некоторым расширением я могу, а вот просто паку как создать не знаю.


Это сообщение отредактировал(а) yario - 16.6.2008, 02:06
PM MAIL   Вверх
ecologist
Дата 16.6.2008, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 5
Всего: 9



Ну где-то так

Код

import java.io.*;

class CreateDirectory 
{
   public static void main(String args[])
  {
      try{
         String strDirectoy ="test";
         String strManyDirectories="dir1/dir2/dir3";

         // Create one directory
         boolean success = (new File(strDirectoy)).mkdir();
         if (success) {
            System.out.println("Directory: " + strDirectoy + " created");
         }    
  

         // Create multiple directories
         success = (new File(strManyDirectories)).mkdirs();
         if (success) {
            System.out.println("Directories: " + strManyDirectories + " created");
        }

     }
     catch (Exception e){//Catch exception if any
        System.err.println("Error: " + e.getMessage());
     }
  }
}

PM MAIL   Вверх
yario
Дата 16.6.2008, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



а как копировать файл и вставить в другую директорию, например?
PM MAIL   Вверх
v2v
Дата 16.6.2008, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 9
Всего: 56



Код

    void copy(File src, File dst) throws IOException {
        InputStream in = new FileInputStream(src);
        OutputStream out = new FileOutputStream(dst);
        byte[] buf = new byte[1024];
        int len;
        while ((len = in.read(buf)) > 0) {
            out.write(buf, 0, len);
        }
        in.close();
        out.close();
    }


Добавлено через 50 секунд
или 
Код

    try {
        // Create channel on the source
        FileChannel srcChannel = new FileInputStream("srcFilename").getChannel();
    
        // Create channel on the destination
        FileChannel dstChannel = new FileOutputStream("dstFilename").getChannel();
    
        // Copy file contents from source to destination
        dstChannel.transferFrom(srcChannel, 0, srcChannel.size());
    
        // Close the channels
        srcChannel.close();
        dstChannel.close();
    } catch (IOException e) {
    }





--------------------
PM   Вверх
yario
Дата 16.6.2008, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо большое! и последний вопрос это удаление директории и файла.
PM MAIL   Вверх
v2v
Дата 16.6.2008, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1620
Регистрация: 20.9.2006
Где: Киев

Репутация: 9
Всего: 56



c удалением директорий надо быть осторожным: сначало надо удалить всё что внутри , а потом и саму директорию:

Код

// удаление файла
boolean success = (new File("fileName")).delete();
if (!success) {
   // не удалилось
}


// удаление каталога : рекурсивно
    public static boolean deleteDir(File dir) {
        if (dir.isDirectory()) {
            String[] children = dir.list();
            for (int i=0; i<children.length; i++) {
                boolean success = deleteDir(new File(dir, children[i]));
                if (!success) {
                    return false;
                }
            }
        }
    
        //  удаляем директорию или файл на самом нижнем уровне.
        return dir.delete();
    }




--------------------
PM   Вверх
yario
Дата 17.6.2008, 03:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



жаль, что такое удаление удаляет директорию если она пуста... а вот если в ней один, а тем более куча файлов то все становится сложнее.
Как удалить папку если там куча файлов? есть конешно вариант сначала поудалять по очереди файлы из папки, а потом саму папку. при этом придется прописывать имена всех файлов.....

Это сообщение отредактировал(а) yario - 17.6.2008, 03:10
PM MAIL   Вверх
Kangaroo
Дата 17.6.2008, 03:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


Профиль
Группа: Участник Клуба
Сообщений: 2042
Регистрация: 7.10.2006
Где: US

Репутация: 14
Всего: 104



yario, ты хоть код их предыдущего поста запускал? Там даже ответ на твой вопрос есть:

Цитата

// удаление каталога : рекурсивно



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

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

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


 




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


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

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