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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Считывание данных 
:(
    Опции темы
stadograchey
Дата 17.6.2010, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



HI!
Прошу помочь в решении простой задачи так как я начинающий. Есть файл с множеством строк, а строка состоит из множества цифер, вот в таком вот формате:
123;555;6;7;9;-;22;1111;2;3;4;6;7;9;-;;5;;;;;;3;7;9;77;912300000888888999998898989;555;6;7;9;-;22;1111;2;3;4;6;7;9;-;;5;;;;;;3;7;9;77;9
мне необходимо вытащить одну из таких строк в консоль по идентификатору, а тоесть какому то номеру. Следовательно я ввожу номер который программа должна найти в какой то из строк и затем вывести эту строку в консоль к примеру........Вот код в котором я описал одну строку. Как то можно сделать, что программа далее автоматически делала тоже самое как описано по поводу первой строки. Какие методы можно использовать?Sorry за глупые вопросы только взялся за Java...
Код

public class q2 {
        public static void main(String args[])
                                   throws IOException {
System.out.println("input DATA");
BufferedReader in=new BufferedReader (new InputStreamReader (System.in));
String DATA;
DATA= in.readLine();
long value = Long.parseLong(DATA);
FileInputStream fis =
                           new FileInputStream("data.txt");
                         DataInputStream dis =
                                           new DataInputStream(fis);
                         String s = dis.readLine();
                         String s1 = dis.readLine();
                         String s2;
                         s2=s1.substring(38,54);
                         long number = Long.parseLong(s2);
                         if (number==value){
                             System.out.print("There is your session"+s1);}
                         dis.close();
                     }
    }


Это сообщение отредактировал(а) powerOn - 18.6.2010, 10:41
PM MAIL   Вверх
EnJ
Дата 17.6.2010, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Чтобы читать с консоли используй java.util.Scanner:
Код

Scanner in = new Scanner(System.in);
int i = in.nextInt();


Кидаешь свои методы в цикл while(условие остановки работы программы) {...} и поехал.
Примером условия остановки может быть ввод НЕ числа(для простоты). Соответственно это условие надо корректно обработать ;)
PM MAIL ICQ   Вверх
stadograchey
Дата 18.6.2010, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Класс Scaner в состоянии обработать файл допустим размером около 300 мБ???????????
PM MAIL   Вверх
jk1
Дата 18.6.2010, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата

Класс Scaner в состоянии обработать файл допустим размером около 300 мБ??????????? 

Способен, лишь бы у Вас памяти хватило вычитать его целиком. Если это же занимать столько памяти невозможно или нежелательно, попробуйте Memory Mapped File:
Код

public class LargeMappedFiles {
  static int length = 0x8FFFFFF; // 128 Mb
  public static void main(String[] args) throws Exception {
    MappedByteBuffer out = 
      new RandomAccessFile("test.dat", "rw").getChannel()
      .map(FileChannel.MapMode.READ_WRITE, 0, length);
    for(int i = 0; i < length; i++)
      out.put((byte)'x');
    System.out.println("Finished writing");
    for(int i = length/2; i < length/2 + 6; i++)
      System.out.print((char)out.get(i));
  }




--------------------
Opinions are like assholes — everybody has one
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.0958 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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