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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с файлом 
:(
    Опции темы
snorkee
Дата 9.3.2005, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



У меня есть txt файл с такой информацией:

1 Man 16 S 185 8
2 Woman 4 L 26 168 6
3 Woman 8 G 93 6
и т.д.....

Каким образом мне получить из этой информации
массив [][] = { {1,"Man", 16,"S", ,185,8} ,{2,"Woman", 4,"L",26,168,6},
{1,"Woman", 8,"G", ,93,6}, { и т.д....}}

И ещё, каким образом можно подсчитать количество строчек в файле?

PM MAIL WWW ICQ MSN   Вверх
Domestic Cat
Дата 9.3.2005, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Код

String[] [] array = new String[66][66];
BufferedReader br = new BufferedReader(new FileReader("myfile.txt"));
String line = br.readLine();
int lineNo = 0;

while(line != null)
{
     int colNo = 0;      
     StringTokenizer stk = new StringTokenizer(line);
     while(stk.hasMoreTokens())
     {
           array[lineNo][colNo] = stk.nextToken();
           colNo++;
     }
     lineNo++;
     line = br.readLine();
}

br.close();


1. Код я нe проверял.
2. С количеством элементов массивa разберись сам. И иксепшнами тоже.



--------------------

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


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Я, наработавшись со скриптами, тоже предложу вариант. smile
Код

public String[][] splitFile(File f)
{
 String[][] array;
 String line;
 Vector v=new Vector();
 BufferedReader br = new BufferedReader(new FileReader(f));

 while( ( line = br.readLine() ) != null)
   v.add(line.split(" "));
 br.close();

 array=new String[v.size()][];
 v.toArray(array);
 return array;
}



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Domestic Cat
Дата 9.3.2005, 00:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



это хорошо когда одни стринги нужно читать smile А если их нужно сконвертировать в инт например, тo не очень удобно.


--------------------

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


Новичок



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

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



такая задача - у меня есть директория и в этой директории некоторое количество файлов, других папок, в папках файлы и т.д. Мне нужно получить list всех файлов которые имеются в моей parent директории (то есть и тех которые в других папках и т.д.)

У класса File есть метод listFiles() который даст мне только список файлов и папок в этой директории, на уровень ниже он уже не опускается.

Вопрос: Чтоб реализовать нужную мне функцию нужно делать цикличную проверку того что если есть ещё поддиректории, то нужно применить listFiles и для них и потом запихать полученные пути в предыдущую структуру или всё же есть какой то метод который автоматом всё проверит?
PM MAIL WWW ICQ MSN   Вверх
Domestic Cat
Дата 20.3.2005, 00:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

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



Модератор: ОДИН ТОПИК - ОДИН ВОПРОС


Например, такой код должен напечатать все файлы ( не проверял) если f - папка. Уже сам доработай
Код

public voif printFilesInFolder(File f)
{
      File[] files = f.listFiles();
      for (i = 0; i < files.length; i++)
      {
            if (files[i].isFile()) System.out.println(files[i].getName());
            else printFilesInFolder(files[i]);
      }
}



--------------------

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

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

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


 




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


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

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