![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Canadec |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 18.7.2007 Репутация: нет Всего: нет |
Вообщем есть файл CSV с которым мы производим чтение и запись:
data,data1,data2 data3,data4,data5 data6,data7,data8 Необходимо использовать для этого RandomAccessFile: RandomAccessFile Lib = new RandomAccessFile(File, "rw"); line=Lib.readline();//получаю строку ........ // выполнение каких-либо действий Lib.seek(num);// установка указателя и запись строки rf.writebytes(str) Вопрос в принципе в чем, что при записи происходит наложение и перезапись старой строки - новой "str". Если размер новой строки больше старой происходит переход на следующую строку и наложение оставшихся символов уже на следующую строку. Пример: аааааа,аааааа,аа аааa3,data4,data5 data6,data7,data8 Как сделать так используя RandomAccessFile, чтоба старая строка удалялась или полностью заменялась на новую без перехода на др. строки. аааааа,аааааа,ааaaa data3,data4,data5 data6,data7,data8 |
|||
|
||||
w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
Можно сказать никак. Если уж очень хочется - увеличивать размер файла, копировать весь хвост, чтобы подготовить место для новой строки и только тогда писать эту строку. -------------------- ![]() ![]() |
|||
|
||||
niasilil |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 4.6.2007 Где: USA Репутация: 8 Всего: 9 |
как то трудно такую операцию представить физически: есть байты на диске, и вдруг тебе надо втиснуть больше чем там есть. То есть логично думать что надо взять начало файла, записать рекорд, потом дописать конец файла.
Насколько быстро токое должно работать? -------------------- SCJP 5.0, SCJD |
|||
|
||||
Canadec |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 18.7.2007 Репутация: нет Всего: нет |
Спасибо, все так и сделал. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |