Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Mouse
1

Пoмoгите зaписaть текст из ТеxтArеa в file

12.12.2007, 18:20. Показов 1018. Ответов 7
Метки нет (Все метки)

Please , Первый рaз делaю
Пoмoгите зaписaть текст из ТеxтArеa в file .

Java
1
2
3
4
5
6
7
try
{
out = new BufferedWriter(new FileWriter(fileDialog.getFile()));
//length = out.;
byte[] bytes = new byte[length];
out.write(bytes);
}

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.12.2007, 18:20
Ответы с готовыми решениями:

Пoмoгите бaлбесу
Скaжите a железячникaм дaют GrinCard в Буржуляндию? A экoлoгaм? Плюс вoпрoс, скoлькo пoлучaют...

<input type='file' текст внутри
вот у меня в коде если загрузить файл на сервер &lt;input type='file'&gt; , поле внутри всегда пустое...

Пoмoгите разобраться с DBListBox
Привет Есть ClientDataSet с полем 'History' типа МЕМО. Есть в дельфях DBListBox и...

Пoмoгите пoжaлуйстa рaзoбрaться
Всем дoбрoгo время сутoк. Не рaзу не рaбoтaл с бaзoй дaнныx и пoэтoму срaзу xхе стoлкнулся с...

7
3 / 3 / 3
Регистрация: 07.11.2007
Сообщений: 270
12.12.2007, 19:19 2
Не лучший вариант - взял первое, что попалось:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
try {
    PrintWriter out = new PrintWriter (new FileWriter (fileName));
    // Весь текст из области редактирования (text) сохранить в String
    String s = text.getText ();
    // Считывание строк и запись в файл
    int i1 = 0, i2 = 0, last = s.length ();
    while ((i2 = s.indexOf ('', i1)) > -1) {
           if (i2 > i1) out.println (s.substring (i1, i2));
              else out.println ('');
           i1 = i2 + 1;
           if (i1 > last) break;
     }
     if (i1 <= last) out.print (s.substring (i1));
         else out.print (s);
     out.close ();
}
catch (IOException ioe) {
       System.ou.println ('I/O exception; stack trace:');
       ioe.printStackTrace (pw);
}
В общем, это работает. Желаю удачи. Можно писать проще, но в этом коде есть ряд полезных моментов.
0
3 / 3 / 3
Регистрация: 07.11.2007
Сообщений: 270
13.12.2007, 10:57 3
Ну как - получилось ?
0
AiK
13.12.2007, 12:15 4
Вообще-то побайтовая запись/чтение весьма плохо влияет на скорость работы с файлами.
Поэтому лучше делать через буффер:
Java
1
2
3
4
5
PrintWriter out = new PrintWriter(
        new BufferedWriter(
            new FileWriter('myfile.txt')));
out.println(textArea.getText());
out.close();
3 / 3 / 3
Регистрация: 07.11.2007
Сообщений: 270
13.12.2007, 12:33 5
Это верно - через буфер быстрее. Однако побайтовое чтение позволяет выделять строки внутри JTextArea и производить с ними дополнительные операции (например синтаксический анализ, разбиение на токены). Все зависит от того, что делать с содержимым JTextArea: если просто сохранить в файл, то лучше через буфер, если анализировать - то можно обработать и побайтно.
0
AiK
13.12.2007, 12:48 6
C TextArea ты можешь делать всё что угодно.
Ключевым 'словом' здесь является BufferedWriter.
Запихай в TextArea хотя бы страничку текста, а потом сравни скорость вывода с использованием BufferedWriter и без него.
3 / 3 / 3
Регистрация: 07.11.2007
Сообщений: 270
13.12.2007, 13:00 7
Коллега, да не об этом речь !
Повторюсь еще раз - одно дело когда надо просто сохранить содержимое JTextArea, тогда через буфер быстрее и лучше. Другое дело, когда надо не только сохранить содержимое JTextArea (это не так уж часто и встречается), а проанализировать само содержимое.
Пример: вы делаете интерактивный отладчик SQL-скриптов. Сами скрипты вводятся в JTextArea, но перед отправкой их серверу БД, хорошо бы было сначала их разобрать и проанализировать на соответствие синтаксису. Хорошо, когда скрипт умещается на одной строке, а если на 5 или 20 строках ? Ошибок там может быть немеряно. Можно, конечно, отослать все серверу и ждать когда он обругается, но ведь это не эстетично. Вот тут и помогает метод предложенный мной.
И вообще, по моему каждый метод хорош в соответствующей ситуации. Все жанры имеют право на существование, не так ли ?
С уважением, fplab
0
1 / 1 / 5
Регистрация: 30.04.2007
Сообщений: 225
16.12.2007, 12:54 8
> Коллега, да не об этом речь!

> Повторюсь еще раз - одно дело когда надо просто сохранить
> содержимое JTextArea, тогда через буфер быстрее и лучше.
> Другое дело, когда надо не только сохранить содержимое
> JTextArea (это не так уж часто и встречается), а проанализировать
> само содержимое.

э-э... если уж нужно что-то анализировать, то лучше, на мой взгляд, сначала целиком разобрать/токенизировать/полностью переработать, а потом уже скинуть результаты в файл. Одним куском и именно через BufferedWriter. Быстрее, да и реализация будет прозрачнее: разбор и работа с файлами будут разделены...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.12.2007, 12:54

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Пoмoгите в билдере с массивами
С++ почти не изучал, а тут почти сразу после паскаля такую задачу дали. Помогите решить пожалуйста,...

пoмoгите с решением зaдачи...
Описать процедуру CodeText(Name,k), шифрующую текстовый файл с именем Name, выполняя циклическую...

Пoмoгите с API функциями
Кaк мoжнo вoспрoизвести ,при пoмoщи кaких API функций нaжaтие мышки нa экрaне ? Тo естъ кaк мoжнo...

Пoмoгите понять из за чего ошибка
Скажите что значит ошибка: Warning: mysql_fetch_array() expects parameter 1 to be resource,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.