|
|
|
Русская кодировка при чтении файла
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток, возникла проблема при чтении русского текста из файла. Чтение файла провожу след образом Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 2) Еще не распознаются файлы привиденных форматов txt и doc почему-то они в каталоге есть однако фильтр их не видит, видит только All Files ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 03:37:49 |
|
||
|
Русская кодировка при чтении файла
|
|||
|---|---|---|---|
|
#18+
Вижу пример Вы отсюда брали. Там есть реализация фильтров, а Вы юзаете фильтр стороннего производителя Код: plaintext Теперь насчет кодировки. Не понятно почему Cp866. Попробуйте Cp1251 и все замечательно распознается, я бы вообще не указывал бы ее. Вот исправленный код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 08:41:36 |
|
||
|
Русская кодировка при чтении файла
|
|||
|---|---|---|---|
|
#18+
Кустов 2) Еще не распознаются файлы привиденных форматов txt и doc почему-то они в каталоге есть однако фильтр их не видит, видит только All Files Скорее всего, дело с заглавными буквами. Не ленитесь и напишите фильтр сами. Будет полезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 09:52:19 |
|
||
|
Русская кодировка при чтении файла
|
|||
|---|---|---|---|
|
#18+
Еще один баг. Неправильно задано расширение Код: plaintext Исправьте на Код: plaintext Для того, чтобы прочитать весь файл, а не одну строку нужно сделать так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. P.S.: Для чтения doc-файлов Вам нужно использовать спец. средства. Вышеуказанным образом можно читать только текстовые файлы, а word-файлы имеют свой формат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 10:32:25 |
|
||
|
Русская кодировка при чтении файла
|
|||
|---|---|---|---|
|
#18+
Пасибо большое, все получилось. А может поясните вот как сделать что-то типа импорта файла, в файле у меня будут записаны ключевые слова в квадратных скобочках, и нужно считывать и сохранять строки строки сразу после них, т.е ------Файл 1.txt [Фамилия] Иванов [Телефон] 2-435-24 [Хобби] Люблю погулять с собакой и попить чай [Пол] мужской Т.е я хочу чтобы соответствующие поля считанные вставлялись в соответствующие JTextField-ы Например, считываю я первую строку - там Фамилия, значит след. строку нужно записать в текстовое поле Family Может у кого есть методы получше как организовать импорт подобного файла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 12:41:16 |
|
||
|
Русская кодировка при чтении файла
|
|||
|---|---|---|---|
|
#18+
А зарплату мне на Yandex-кошелек переведете? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 13:04:02 |
|
||
|
Русская кодировка при чтении файла
|
|||
|---|---|---|---|
|
#18+
А помочь за просто так невозможно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 13:29:59 |
|
||
|
Русская кодировка при чтении файла
|
|||
|---|---|---|---|
|
#18+
А при чем тут Java? Вы не можете составить простейший алгоритм чтения из файла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 20:08:48 |
|
||
|
Русская кодировка при чтении файла
|
|||
|---|---|---|---|
|
#18+
Я уверен, что ты это сделать не сможешь. Снобизма много, а толку мало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 21:25:37 |
|
||
|
Русская кодировка при чтении файла
|
|||
|---|---|---|---|
|
#18+
Будь уверен :) Подумайте сами. 1. Вам нужно найти начало некоторой секции. Например, читая файл построчно и сравнивая с заданным значением. 2. Читать все строки далее и обрабатывать их до конца секции, а ей может быть либо конец файла, либо начало следующей секции, либо специально заданный тэг конца. Итого: Вам нужно знать IO API, как сравнивать строки и элементарные знания по алгоритмике. Проблемы, которые могут возникнуть: если есть несколько одинаковых секций, тогда их придется искать все. P.S. Можете посмотреть в сторону формата XML, но честно говоря слово модное, а использование здесь не особо то и оправдано, работать с простым текстовиком легче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 21:41:34 |
|
||
|
Русская кодировка при чтении файла
|
|||
|---|---|---|---|
|
#18+
Ах да.. и ознакомьтесь наконец с Java Code Conventions, найдите их сами на java.sun.com. Лучше привыкать сразу к хорошему оформлению, чем потом переучиваться. Тем более, что неправильное оформление сбивает с толку людей, которые читают ваш код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 21:43:57 |
|
||
|
Русская кодировка при чтении файла
|
|||
|---|---|---|---|
|
#18+
КустовМожет у кого есть методы получше как организовать импорт подобного файла? Либо парсить файл вручную (что не очень эффективно), либо посмотрите в сторону класса Код: plaintext КЛЮЧ=ЗНАЧЕНИЕ т.е. в вашем случае ФАМИЛИЯ=Иванов и т.п. А вообще, самое лучшее - использовать XML и парсер (DOM, JDOM, SAX и т.п.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 21:58:01 |
|
||
|
Русская кодировка при чтении файла
|
|||
|---|---|---|---|
|
#18+
КустовЯ уверен, что ты это сделать не сможешь. Снобизма много, а толку мало. Да, сложная задача. Надо срочно менять тему диплома на "Разбора файла текстового с определенной известной структурой" Проблема в том, что это не совсем тот вопрос, на которые хотелось бы ответить в форуме (по крайне мере, мне). Потому как требуется решить задачу, а не помочь вам решить ее. Да и задача тривиальная, таких даже я (еще студент) решал не раз и не два. Не интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 22:25:53 |
|
||
|
Русская кодировка при чтении файла
|
|||
|---|---|---|---|
|
#18+
Вот-вот. Человек приходит и кричит: "Дайте готовый код!". На предложение слегка подумать над довольно легкой задачей: "Вы ее сами не решите. Много понтов и снобизма!". Причем утверждение взято слегка с потолка. Вот желание помогать таким сразу пропадает. 2 Автор трэда: Вы читали мои сообщения на этом форуме? Или на других форумах? Я конечно программист-любитель и считаю, что знаю весьма немного, но с некоторым кругом задач справляюсь весьма успешно. А теперь напишу, зачем я здесь сижу. Чтобы получать вопросы и пытаться на них ответить. Тем самым я дополнительно развиваюсь, потому что на форуме обсуждают гораздо более широкий круг задач, чем тот, что я решаю сам. Поэтому мне важно, чтобы вопрос был интересным. Пока знаний у меня немного, мне интересны многие вопросы, но когда человек спрашивает вопрос на уровне элементарной алгоритмики, которую он должен был пройти еще в школе, спрашивается: "Зачем он вообще взялся за эту задачу?". Процитирую одного форумчанина с juga.ru: "За задачу стоит браться только если множество ответов, которые вы готовы дать, не сильно меньше множества вопросов, которые вы получите." И поэтому я могу весьма грубо ответить, если вопрос ну уж слишком простой вроде "Что такое CLASSPATH? Как запустить приложение из командной строки? Как подключить библиотеку?" и в таком стиле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 22:53:02 |
|
||
|
Русская кодировка при чтении файла
|
|||
|---|---|---|---|
|
#18+
Ну как тебе сказать, сложно в 36 браться за программирование, сам я работаю совсем в другой области, а это так помаленьку постигаю. Или таким как я здесь запрещено отвечать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 23:48:32 |
|
||
|
Русская кодировка при чтении файла
|
|||
|---|---|---|---|
|
#18+
Не запрещено. Просто вам же лучше учиться самому, а не просить готовый код. Я принимаю для себя следующую философию: http://skipy.dev.juga.ru/philosophy/learning.html Прочтите на досуге, вещи там довольно очевидные и не новые описаны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2006, 23:57:59 |
|
||
|
Русская кодировка при чтении файла
|
|||
|---|---|---|---|
|
#18+
КустовНу как тебе сказать, сложно в 36 браться за программирование, сам я работаю совсем в другой области, а это так помаленьку постигаю. Или таким как я здесь запрещено отвечать ? Отвечать разрешено, но делать достаточно элементарные задания целиком и полностью никто за Вас не будет. Насчет разбора такого файла - решается просто. Создается BufferedReader и файл считывается построчно. Проверяется, построена ли очередная строка по шаблону вроде "[\\w+]" (лучше с помощью Pattern, а не String.matches()), если да - извлекаем содержание строки и находим ассоциированный с данным заголовком раздела JTextField (например, через создающийся при запуске программы HashMap<String, JTextField>), все последующие строки пишем в этот филд, пока не найдем следующий заголовок раздела или не дойдем до конца файла. Построчно уж не буду, и так все разжевал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 00:00:02 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34140784&tid=2147450]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
227ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 192ms |
| total: | 490ms |

| 0 / 0 |
