Перейти к содержимому

Фото
- - - - -

Java-функция, маленькая ошибка


  • Вы не можете создать новую тему
  • Please log in to reply
4 ответов в этой теме

#1 simonsays

simonsays
  • Пользователь
  • 835 сообщений

Отправлено 20 Октябрь 2006 - 20:23

вот такую функцию написал для домашней работе в универе...
public static String[] FileToArray (String filename){

File file = new File(filename);
String[] contents;
contents = new String[24];

if (!file.exists()){System.out.println("404 error, fail ei ole leitud"); System.exit(1);}

try{
FileReader file_reader = new FileReader(filename); 
BufferedReader br_reader = new BufferedReader(file_reader);

String line = br_reader.readLine(); 
String separator=",";

int count=0;
int pos=-1;
int ws=0;
int we=ws+1;

while (line != null){

pos=line.indexOf(separator,pos+1);
we=pos;
ws=pos+separator.length();
contents[count]=line;
System.out.println(contents[count]);

line = br_reader.readLine();
count++;}
}
catch (IOException e) {System.out.println(e);} 

return contents;
}

функция добавляет строчки из текстового файла по одной в массив

проблема в том, что хочется сделать функцию универсальной (для любого файла), т.е. строчка
contents = new String[24];
не катит, ибо количество строк в массиве должно задаваться программой... однако, если задавать длину массива в пределах try{}, то он почему-то не инициализируется и не возвращается функцией...
наверняка есть простой способ это недоразумение исправить. буду очень признателен тому, кто поможет решить проблему!
  • 0

#2 Акей

Акей

    Смотрит свысока

  • Постоялец
  • 2 134 сообщений

Отправлено 20 Октябрь 2006 - 22:11

ArrayList используй, и все дела
А про изврашения с массивами Таммет тут написал:
http://www.lambda.ee...failist_loed.3F
Да и конвенции Явы следуй, не спользуют в именах андерскоры
  • 0

#3 simonsays

simonsays
  • Пользователь
  • 835 сообщений

Отправлено 22 Октябрь 2006 - 03:22

Да и конвенции Явы следуй, не спользуют в именах андерскоры

правда эти строчки я как обезьяна скопировал у Таммета.

если ArrayList задать, то при компиляции пишет, что Cannot find symbol

Сообщение изменено: simonsays (22 Октябрь 2006 - 03:29 )

  • 0

#4 Акей

Акей

    Смотрит свысока

  • Постоялец
  • 2 134 сообщений

Отправлено 22 Октябрь 2006 - 09:48

simonsays, так ты java.util.ArrayList подключи.
Листы конечно не входят в темы ППК, но с ними гораздо проше
Вот например тут кое-какой пример
http://www.tud.ttu.e...1/9/Gerbil.java
  • 0

#5 simonsays

simonsays
  • Пользователь
  • 835 сообщений

Отправлено 22 Октябрь 2006 - 18:58

спасибо! :) теперь всё кажется понял и работает всё
  • 0