Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Нужна помощь чтении файла ????? / 9 сообщений из 9, страница 1 из 1
27.05.2004, 19:41
    #32537538
kkk13il
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь чтении файла ?????
Помогите плс ...???
Есть файл где данные в определенном порядке т.е. идет по позициям.
Пример :
позиция(1:9) 123456789
позиция(7:8) 23
позиция(9:23) абцдерфготитуннхз
--- следующая строка
Ну файл типа excel (prn) со строгими позициями.
Иногда значения могут быть null т.е. отсутствовать или
быть меньше чем задано :
позиция(1:9) 123456789
позиция(7:8)
позиция(9:23) а
......
Сам вопрос ! У меня есть код :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
try
{
 inputFile = new File(filename);
 in = new FileReader(inputFile);
 char c[] = new char[(int)inputFile.length()];
 char c1[]= new char[(int)inputFile.length()];
 in.read(c);
 int j=  0 ;
 for (int i= 0 ;i<inputFile.length() ;i++ )
 {
  if ((int)c[i]== 13 )
   ;
  else
   c1[j++]=c[i];
 }
 str = String.copyValueOf(c1, 0 ,j);
 in.close();
}
return str;
Как мне повставлять пробелы чтобы str всегда был от 0 до 28 знаков ?
0:28 знаков
chr(13) следующая строка
0:28
и т.д.
...
Рейтинг: 0 / 0
28.05.2004, 13:30
    #32538749
Грасоff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь чтении файла ?????
не понял чего надо. читал несколько раз. чего хочешь получить? какие исходные данные? какой нужен результат?

и не надо торопиться.

Код: plaintext
1.
2.
3.
== == == == == == == == == == == == == == == == == == == == 
== 6.000.000 ways to die
== Face down, ass up - that's the way we like to fuck.
.: enjoy with a poison : injected with a poison : Грасоff :.
...
Рейтинг: 0 / 0
30.05.2004, 10:23
    #32539973
kkk13il
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь чтении файла ?????
Извините если плохо объяснил !!!
Попытаюсь еще раз
Есть файл следуещего вида :
Код: plaintext
1.
2.
3.
4.
 123456789   23  асдффг
 345678      34  щфцмнхйд
 1           12  поклккккммммммм
 234555      11  
т.е. есть 3 столбца , размер каждого столба фиксированный
Нужно его прочитать по строкам и получить типа:
Код: plaintext
1.
2.
3.
4.
 123456789   23  асдффг_________
345678___  34  щфцмнхйд_______
1________  12  поклккккммммммм
234555___  11  _______________
...
Рейтинг: 0 / 0
31.05.2004, 09:39
    #32540462
Грасоff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь чтении файла ?????
дак че тут.

длина "полей" всегда фиксирована?
ты еще как-то файл помороченно читаешь. так можно:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
BufferedReader br = new BufferedReader(new FileReader("c:\\yourfile.txt"));
String s;
while ((s = br.readLine()) != null) {
  // здесь, если длина "полей" фиксирована методом s.substring(), выделяешь нужные тебе поля в три переменных, например, s1, s2, s3
  // теперь "расширяешь" эти переменные с помощью пробелов до длины, нужной тебе. тока накой это надо?
  s1 = expand(s1,  10 );
  s2 = expand(s2,  2 );
  s3 = expand(s3,  15 );
}
br.close();

...
public String expand(String s, int length) {
  // этот метод ты ведь сам напишешь? :)
}

Код: plaintext
1.
2.
3.
== == == == == == == == == == == == == == == == == == == == 
== 6.000.000 ways to die
== Face down, ass up - that's the way we like to fuck.
.: enjoy with a poison : injected with a poison : Грасоff :.
...
Рейтинг: 0 / 0
31.05.2004, 10:02
    #32540495
kkk13il
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь чтении файла ?????
Спасибо за объяснения ...
Да поля фиксированные.

Попытаюсь обяснить: на самом деле все это делается для того чтобы,
этот файл загнать в базу (oracle) , но не из java а из forms 6i (developer) ,
так сначало я читаю файл показываю его в форме ,если клиент хочет
может редактировать, а затем заганяю его в базу.
Средствами pl/sql я не могу обрабатывать файл.
...
Рейтинг: 0 / 0
31.05.2004, 16:43
    #32541395
kkk13il
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь чтении файла ?????
А можно каким-то образом узнать когда заканчивается запись ?
т.е. :
Код: plaintext
1.
2.
 123456789   12 
 3245769     20 
В первой строке идет 9 символов потом пробел 2 символа
а во второй строке идет 7 символов а потом 2
Как это дело обработать ?
...
Рейтинг: 0 / 0
31.05.2004, 17:13
    #32541484
Грасоff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь чтении файла ?????
ты ж говоришь - длина фиксированная.

тогда:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
while ((s = br.readLine()) != null) {
  // здесь, если длина "полей" фиксирована методом s.substring(), выделяешь нужные тебе поля в три переменных, например, s1, s2, s3

  s1 = s.substring( 0 ,  9 );
  s2 = s.substring( 10 ,  12 );

}
br.close();

Код: plaintext
1.
2.
== == == == == == == == == == == == == == == == == == 
== Face down, ass up - that's the way we like to fuck
...
Рейтинг: 0 / 0
31.05.2004, 17:57
    #32541545
kkk13il
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь чтении файла ?????
Я то думал что excel делает фиксированные позиции но ,
что не очень ... :(((
...
Рейтинг: 0 / 0
31.05.2004, 18:04
    #32541559
kkk13il
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь чтении файла ?????
Я понял так если есть пробелы то я получаю
java.lang.StringIndexOutOfBoundsException: String index out of range: 31
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Нужна помощь чтении файла ????? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]