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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> список файлов, console 
:(
    Опции темы
#Maestro#
Дата 8.7.2009, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15709
Регистрация: 24.3.2004

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



Цитата(#Maestro# @  8.7.2009,  08:50 Найти цитируемый пост)
как вывести на консоль список файлов данной директории?

Смотри java.util.File.


Цитата(#Maestro# @  8.7.2009,  08:50 Найти цитируемый пост)
и как менять текущую директорию? 

Что под этим подразумевается?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
NeoNYura
Дата 8.7.2009, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код

String str[]=new File(path).list();

PM MAIL   Вверх
korob2001
Дата 8.7.2009, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

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



Цитата(LSD @  8.7.2009,  14:57 Найти цитируемый пост)
Что под этим подразумевается? 

Думаю он имеет ввиду программную смену рабочего каталога, в Perl эта функция называется chdir(...).
Делает примерно то же, что и системная команда cd /путь/к/другому/каталогу, после чего этот каталог становится текущим рабочим каталогом.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
#Maestro#
Дата 9.7.2009, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



korob2001, совершенно верно!
PM MAIL   Вверх
LSD
Дата 9.7.2009, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15709
Регистрация: 24.3.2004

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



Код

System.setProperty("user.dir", "C:\\Develop");



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
admin82
Дата 9.7.2009, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Вот  только отдельно бы заметил, что вызов
Код

System.setProperty("user.dir", "C:\\Develop");

уже по ходу выполнения программы ничего не поменяет. Т.е. конечно вызов 
Код

System.getProperty("user.dir")
 
вернет новое значение, но вот на поведение системы это уже не повлияет.
По крайней мере относительные пути будут рассчитываться исходя из старой директории. 

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


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15709
Регистрация: 24.3.2004

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



Цитата(admin82 @  9.7.2009,  13:10 Найти цитируемый пост)
По крайней мере относительные пути будут рассчитываться исходя из старой директории.

Код

public class Test
{
  public static void main(String[] args) throws Exception
  {
    printInfo();
    System.setProperty("user.dir", "C:\\Develop");
    printInfo();
  }

  private static void printInfo() throws Exception
  {
    String userDir = System.getProperty("user.dir");
    System.out.println("userDir = " + userDir);
    File currentDir = new File(".").getCanonicalFile();
    System.out.println("currentDir = " + currentDir);
    System.out.println();
  }
}



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
admin82
Дата 9.7.2009, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код

public class Test {
    public static void main(String[] args) throws Exception {
        printInfo();
        System.setProperty("user.dir", "C:\\Develop");
        printInfo();
    }

    private static void printInfo() throws Exception {
        String userDir = System.getProperty("user.dir");
        System.out.println("userDir = " + userDir);
        File existingFile = new File("11.txt");
        System.out.println();
        System.out.println(MessageFormat.format("Does file {0} exist? {1}",
                existingFile.getCanonicalPath(), existingFile.exists()));
        System.out.println();
    }
}

А теперь пусть файл C:\Develop\11.txt существует, а в текущей директории не существует.
Однако тест оба раза выведет false.

Вот такая жесть, пару месяцев назад сам маялся.
PM MAIL   Вверх
LSD
Дата 9.7.2009, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15709
Регистрация: 24.3.2004

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



Надо просто getCanonicalPath() вызывать сразу smile
Код

public class Test
{
  public static void main(String[] args) throws Exception
  {
    printInfo();
    System.setProperty("user.dir", "C:\\Develop");
    printInfo();
  }

  private static void printInfo() throws Exception
  {
    String userDir = System.getProperty("user.dir");
    System.out.println("userDir = " + userDir);
    File existingFile = new File("1.txt").getCanonicalFile();
    System.out.println();
    System.out.printf("File '%s' %s%n", existingFile, existingFile.exists() ? "exist" : "not exist");
    System.out.println();
  }
}



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
admin82
Дата 9.7.2009, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ну да, так лучше. Но нифига не очевидно
PM MAIL   Вверх
korob2001
Дата 10.7.2009, 06:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

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



Я пытался найти в Java аналог chdir(...) где-то год назад. Погуглил и нашёл, статью где было написано, что Sun отказались от программной смены рабочего каталога, потому как эта возможность несёт в себе больше вреда, чем пользы. Может быть они и правы, так как лично я никогда не меняю рабочий каталог, даже там где оно поддерживается, соответственно никогда не пользуюсь cwd, да бы найти себя в файловой системе. Кому-то это не даёт покоя, вот кстати ссылка по теме, где народ волнуется, недовольные есть, а так же приводятся примеры, как можно решить проблему отсутствия chdir(...) в Java: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4045688

Это сообщение отредактировал(а) korob2001 - 10.7.2009, 06:34


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
#Maestro#
Дата 11.7.2009, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



спосибо, ребята!!!
LSD особоsmile
PM MAIL   Вверх
#Maestro#
Дата 11.7.2009, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



поробовал по вашим примерам вывести на консоль файлы текущий папки

Код

String userDir = System.getProperty("user.dir");
  
ArrayList<String> ar1 = new ArrayList<String>();

        File f1 = new File(userDir);
        String s[] = f1.list();
 for (int i = 0; i < s.length; i++)
 {
if (!(new File(s[i])).isDirectory())

 ar1.add(s[i]);

     System.out.println(ar1.add(s[i]));
 }


получается бяка. подскажите почему?

Это сообщение отредактировал(а) #Maestro# - 11.7.2009, 16:07
PM MAIL   Вверх
AlexeyVorotnikov
Дата 13.7.2009, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 658
Регистрация: 18.6.2007
Где: Москва

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



Цитата(#Maestro# @  11.7.2009,  17:03 Найти цитируемый пост)
получается бяка. подскажите почему?

А в чём именно состоит бяка?


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

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

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


 




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


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

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