|
|
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Мне надо создать в SWING, AWT графическое приложение чтобы оно могло индекс. файлы в системе (что это кокретно это тоже несколько меня озадачивает, может присвоение уникального номера?), и потом записать файл в XML (так как возможности детализировать не было не понятно надо ли после индексирован. записывать даные в отдельный файл, и потом после его открытие конверитировать) с возможнотью поиска по имени. Теги должны быть имя, путь, размер. Ниже я привел код, который выводить на консоль эти данные о файле, и записывает при помощи класа Файл1 даные о каждом файле в вектор. Но узнать размер этого вектора (через ошибку Outofmemory, heap). Потому я добавил строки касательно записи этого вектора в сериализирующий файл. Но при компиляции появляются ошибки -- Symbol cannot found. В чем здесь проблема, кроме того что может там input output поменять, и как задать имя в создаваемый файл? java.io.File; import java.util.Vector; import java.io.ByteArrayInputStream; import java.io.ObjectInputStream; public class Filewalk { Vector<File1> vs= new Vector<File1>(); public void walk( String path ) { File root = new File( path ); File[] list = root.listFiles(); if (list == null) return; for ( File f : list ) { if ( f.isDirectory() ) { walk( f.getAbsolutePath() ); } else { File1 fv=new File1(f.getAbsoluteFile().toString(),f.length()); vs.add(fv); } } } public static void main(String[] args) throws Exception { Filewalk fw = new Filewalk(); File [] disks = File.listRoots(); for ( File d : disks ) fw.walk(d.toString()); ByteArrayInputStream baos = new ByteArrayInputStream(); ObjectInputStream oos = new ObjectInputStream(baos); oos.writeObject(fw.vs); oos.close(); } } class File1 { File1 (String path1, long size1) { this.path=path1; this.size=size1;} String path; long size;} Если не брать во внимание аспекты необходимости памяти возможно ли создать в этом же пакете файл-Swing который бы отображал Jtable (аргументом которой мог бы быть вышеприведенный вектор). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2015, 20:37 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtчтобы оно могло индекс. Русский не родной? arrtфайлы в системе (что это кокретно это тоже несколько меня озадачивает, может присвоение уникального номера?) Возможно просто список файлов. Надо смотреть формулировку самого задания. Например, содержание в книге это тоже index. arrtНо узнать размер этого вектора (через ошибку Outofmemory, heap). Я слов бы, но нет. arrtНо при компиляции появляются ошибки -- Symbol cannot found. Ошибки появляются более детализированные. Но вы нам предлагаете запустить ваш код и посмотреть на них самостоятельно? Используйте теги подсветки кода: Код: java 1. 2. Код: java 1. Возможно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2015, 09:27 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
А вот такой вариант может подойти. Чтобы на каждом этапе цикла обработки свойств файлов записывать строку в таблицу БД. Только не знаю возможно ли использование в операторе INSERT INTO переменых полученных тем более при исользование связки клас.метод. Ну и обработка исключений тоже много здесь тебует. Код: java 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2015, 05:28 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt, Все-таки хотел возвратится к листингу файлов. Вот несколько переделав код получаю такую ошибку: Код: java 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. Ошибка -- File:0 IO.SYS c:\IO.SYS Exception in thread "main" java.lang.NullPointerException at Filewalker.walk(Filewalker.java:28) -- this.listed.add(odyn); at Filewalker.main(Filewalker.java:36) -- fw.walk("c:\\" ); -- но обьект создается (проверка через вывод свойств в конструкторе). Но при выводе в конструкторе length() дает всюду 0 (хотя имя и путь выводяться правильно), хотя в методе - walk, length() дает конкретный результат. В чем здесь причина? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2015, 18:14 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
сори, уже сам себе выправил касательно пустого неинициализированого вектора [хотя может здесь лутше подходить другая колекция например, List, для экономии памяти] Vector <Item> listed = new Vector <Item> (); А вот почему размер файла через lenght() не отображается непонятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2015, 18:34 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt, В даном случае хотя-бы для диска С - для всех файлов проведен листинг - пол года назад был недостаток памяти. В общем можно проверить размер одного обекта Item через getObjectSize(), но размер целого вектора вряд ли, после заполнения. Но это все надо перевести в XML в отдельном окне, что не знаю возможно, но как? Хотя сперва надо разобратся с lenght() в конструкторе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2015, 18:43 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
//надо было поменять length=length на length=length1 в кострукторе. Вот я создал клас и для записи вектора в файл, но после исполнения файла файл на диске имеет всего 165 байт, что значит что файл фактически пуст а только на диске С в векторе после проверки есть 85 тыс. файлов. Код: java 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. Что сделать что-бы на дисковый файл записывался уже полный вектор со всеми 85 тыс. обьектами? После раскоментирование //Filewalker fw = new Filewalker(); //fw.walk("c:\\" ); Я при листинге снова всех файлов при попытке записать файл послучаю Exception in thread "main" java.io.NotSerializableException: Filewalker$Item at java.io.ObjectOutputStream.writeObject0(Unknown Source) -- В чем причина. Почему не сериализируется вектор при записи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 03:33 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Уже убрал статик перед вектором и создал обьект с нестатическим вектором тоже исключение java.io.NotSerializableException: Filewalker$Item at java.io.ObjectOutputStream.writeObject0(Unknown Source) Но причем здесь Filewalker$Item если запись формируется уже на заполненом векторе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 03:51 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtНо причем здесь Filewalker$Item если запись формируется уже на заполненом векторе? А внутри "вектора" что лежит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 12:51 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Да я понимаю что внутри файлволкера есть вложенный клас. Так что конструкцию ObjectOutputStream out = new ObjectOutputStream( new BufferedOutputStream(new FileOutputStream ... невозможно применить к записи этого вектора в файл? Как и любой другой способ записи такого вектора будет невозможным? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 13:01 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtBlazkowicz, Да я понимаю что внутри файлволкера есть вложенный клас. Так что конструкцию ObjectOutputStream out = new ObjectOutputStream( new BufferedOutputStream(new FileOutputStream ... невозможно применить к записи этого вектора в файл? Как и любой другой способ записи такого вектора будет невозможным? У вас очень странные фантазии. Вы бы вместого того чтобы выдумывать и предполагать, читали бы документацию. https://docs.oracle.com/javase/tutorial/jndi/objects/serial.html Ваша ошибка решается вот так: Код: java 1. И ещё IOException у вас обрабатывается не правильно https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 13:12 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, На счет фантазий, это у вас фантазии, извиняюсь за тавтологию. implements Serializable - я применял вчера, результат тот же: Исключение - но ошибок на счет обработки таких ситуаций у меня нету. Тем более я скопировал этот код с IO - ибо эта тема не очень то любима мною, потому редко с ней реально имел дело, особенно при использование врапперов потоков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 14:21 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtimplements Serializable - я применял вчера, результат тот же: Это ложь. Тогда бы было другое сообщение об ошибке. arrtИсключение - но ошибок на счет обработки таких ситуаций у меня нету. Каких таких? Незакрытых ресурсов? arrtТем более я скопировал этот код с IO - ибо эта тема не очень то любима мною, Ваши вкусовые предпочтения очень важны в решении проблемы. arrtпотому редко с ней реально имел дело, особенно при использование врапперов потоков. Ну, так пора восполнить пробел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2015, 14:34 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, implements Serializable -- можете проверить. форум кажется есть для заполнение пробелов. Может вы б посоветовали удалить вложенный клас для сериализации, ибо кажется в этом причина - если для этого варианта не проходит то другие врапперы вряд-ли помогут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2015, 00:24 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Да помощи здесь не дождешся, потому взял и сам переделал файлволкер и все поместил в один клас со статическим вектором и статическим методом листинга. Хотя сериализация как бы тоже не работает с статическими переменными здесь файл записался с вектором на 11 мб, что явно не 3-4 кб. В общем не проверял через десериализацию можно ли отобразить данные полностью с файла в вектор. Код: java 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2015, 03:26 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Осталось все это как-то в XML поместить, интересно как это сделать если это надо с помощью GUI - не буду ведь все XML помешать в Label, может TreeView подойдет? Может здесь какие-то предложения услышу [P.S. обьем одного обьекта файлволкера около 130 байт, но это вычислено с помощью статического подхода] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2015, 03:33 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
здесь я использую простой копи-паст (с xml вообще не работал на jave), но готовый xml-код работает для закоментированого кода. Для моего кода вызывает ошибку: Код: java 1. 2. 3. Код: java 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. То есть что эта @XmlRootElement -- анотация делает, как ее расписывать для встроеной колекции вектор, и надо ли такую ж анотацию для файлволкера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 02:39 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt, По задаче. Такие задачи решаются проще. Индексный файл это просто файл формата. Имя, ПутьКфайлу. Всё. Если ты описал всё ТЗ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 08:46 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Petro123, не знаю что такое файл формата. Привели б пример, и то раньше. В любом случае, только на одном диске "С" есть 85 тыс. файлов с трема полями свойств - даже умножить на 10 будет 2,5 мб. - у меня получается 11,5 мб. - то есть вопрос эфективнее ли это? Но в XML мне надо и так вывести и то в Swing или AWT - потому мне сейчас актуальнее этот аспект. @XmlRootElement - что надо прописать? работает ли marshal с векторами, да и возможно ли в этом случае вывести в графическом а не только через System.out ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 12:34 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtPetro123, не знаю что такое файл формата. это вот это в текствовом файле: Код: java 1. 2. 3. 4. 5. 6. 7. 8. Можно и в двоичном, если это тебе надо в ГУИ для объекта Tree Panel и т.д. смысл в том, чтобы прописать адрес файла у себя под рукой и не сканировать каждый раз систему. arrtто есть вопрос эфективнее ли это? если ты способен логически думать, то да. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 12:40 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Petro123, не знаю что такое файл формата. Привели б пример, и то раньше. В любом случае, только на одном диске "С" есть 85 тыс. файлов с трема полями свойств - даже умножить на 10 будет 2,5 мб. - у меня получается 11,5 мб. - то есть вопрос эфективнее ли это? Но в XML мне надо и так вывести и то в Swing или AWT - потому мне сейчас актуальнее этот аспект. @XmlRootElement - что надо прописать? работает ли marshal с векторами, да и возможно ли в этом случае вывести в графическом а не только через System.out ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 12:41 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt, "это вот это в текствовом файле" - так у меня это и выходит. "адрес файла" - С++ с адресами имеет дело, или вы очевидно имеете ввиду полный путь Что бы каждый раз не сканировать - ну так мне надо все файлы прочитать. Если там есть три задание сделать индексацию, вывести в XML, и записать в файл - и я в каждом задание делаю индексацию, думаю это не такая большая проблема. Может первое и второе задание обьединить - создать вектор (Кнопка ИНДЕКСАЦИЯ), потом Кнопка "Вывести XML" - уже с готового вектора в текстовое поле (или только в TreeView)?, и кнопка "Записать в файл" с выводом сообщение в Label что успешно записано в файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 12:53 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt, Понятно. Занчит XML тебе жёстко задан. несмотря на автор (с xml вообще не работал на jave), тогда деразай! Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2015, 13:00 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Вот я состряпал на основание готового кода мой XML и у меня в цыкле for-each возникает ошыбка несовпадение типов при декомпозиции вектора - хотел бы чтобы мне подсказали как ее устанить. Код: java 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. Понятно что в колекциях имеет место type erasure, но что в даном случае можно сделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 00:46 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtВот я состряпал на основание готового кода мой XML и у меня в цыкле for-each возникает ошыбка несовпадение типов при декомпозиции вектора - хотел бы чтобы мне подсказали как ее устанить. Код: java 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. Понятно что в колекциях имеет место type erasure, но что в даном случае можно сделать for ( Filewalker fp : Filewalker.listed ) { - так работает? company.appendChild(getCompanyElements(doc, company, "Size", String.valueOf(size))); - так работает? Чувак, что ты с файлами сделать хочешь? Я не догоняю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 12:52 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
golovonometr, да забыл что приведение к Стрингу работает через valueOf - company.appendChild(getCompanyElements(doc, company, "Size", String.valueOf(length))) - так работает. (и поле не size, а length) - вообще чтобы разрешить простую проблему кастинга к строке было достаточно в гугле ввести три слова: cast long string А в цыкле for-each первій аргумент очевидно не должен был быть вектор а клас, потому там было достаточно убрать vector: написать for ( Filewalker fp : Filewalker.listed ) вместо for (vector <Filewalker> fp : Filewalker.listed ). Теперь осталось поместить это в графическое окно: Потому и остается главный вопрос - можно ли все этo xml вывсети в Label, или обязательно использовать Tree? Если первый вариант - то интересует возможно ли эту часть кода StreamResult console = new StreamResult(System.out); transformer.transform(source, console);} заменить что-бы она выводила результат в Jlabel (Label) конечно чтобы он был scrollable. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 15:14 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtПотому и остается главный вопрос - можно ли все этo xml вывсети в Label, или обязательно использовать Tree? круто). Это тебе надо решать. Или преподу. Как дерево уму нужно смотреть, или как текстовую простынку с путями к файлам. ... Что тебе проще, то и пиши. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 16:48 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtgolovonometr, да забыл что приведение к Стрингу работает через valueOf - company.appendChild(getCompanyElements(doc, company, "Size", String.valueOf(length))) - так работает. (и поле не size, а length) - вообще чтобы разрешить простую проблему кастинга к строке было достаточно в гугле ввести три слова: cast long string А в цыкле for-each первій аргумент очевидно не должен был быть вектор а клас, потому там было достаточно убрать vector: написать for ( Filewalker fp : Filewalker.listed ) вместо for (vector <Filewalker> fp : Filewalker.listed ). Теперь осталось поместить это в графическое окно: Потому и остается главный вопрос - можно ли все этo xml вывсети в Label, или обязательно использовать Tree? Если первый вариант - то интересует возможно ли эту часть кода StreamResult console = new StreamResult(System.out); transformer.transform(source, console);} заменить что-бы она выводила результат в Jlabel (Label) конечно чтобы он был scrollable. как и куда выводить - нет разницы! Компоненты свинга, не будут за тебя форматировать данные. Форматировать и отображать в том виде котором тебе нужно, придется тебе. Если xml то наверно будет удобно отображать в виде дерева, с возможностью сворачивать и разворачивать ноды. Если нужно отобразить только текст, да хоть JLable, хоть скроллируемое текстовое поле - выбирать и пробовать вам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2015, 17:03 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
golovonometr, вот этого куска текста с trasnformerom не очень понимаю: Код: java 1. 2. - где в коде приведено выход System.out? В любом случае мне надо передать в Jlabel (однако там только текст передается, хотя System.out тоже текст) или в JTextarea (где возможно и текст и Stream) именно StreamResult console = new StreamResult(System.out) - но StreamResult наследует Result но не Stream. Еще проблема в общей идее этого GUI что надо отобразить несколько окон в фрейме (с очевидныим применением threads), и кроме того этот интерфейс должен быть non-lockable (неблокирующий), то есть после формирование вектора индексации, его данные должны паралельно записыватся и в файл и отображатся в виде XML в окне интерфейса. А касательно деревьев то на примере http://www.java2s.com/Code/Java/Swing-JFC/DefaultMutableTreeNodeNodeTreeSample.htm я сформировал очень простой скроллабл список в виде дерева свойств файловой системы Код: java 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. Но в этом варианте все узлы дерева с однаковимы названиями, потому очевидно ХML предпочительней, кроме того желательно чтобы узлы были раскрытыми, а не кликать мышкой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 02:58 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, StreamResult console = new StreamResult(System.out) - эту консоль надо передать на вход (Inputstream) JTextArea или JLabel - вот это наверное главная задача сейчас (и наверное единственній способ разместить XML в Swing/AWT), перед окончательной композицией GUI, где главным делом есть сформовать структуру интерфейса и подключить листенеры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 04:14 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt, Ну, если потоки в ТЗ, то ты у нас надолго. Аппетит приходит во время еды). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 07:54 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt, давайте вы не будете делать поспешных выводов? Просто вы не изучив инструмент, делаете вывод, а под зачастую неправильный вывод - пытаетесь написать реализацию. Свинг - однопоточен, вам его (1) потока будет достаточно, чтобы отображать все ваши данные, даже на этапе получения их. Я не вижу здесь необходимости нескольких потоков. Я так понимаю у вас будут модели, в которые вы будете добавлять данные, а компоненты будут их честно отображать. Не вижу необходимости с консоли брать стрим, почему бы сразу в модель не добавлять? Объясните свое приложение что оно должно делать? Отобразить файлы и папки в JTree? Зачем такой непонятный класс как Filewalker? Зачем у него статик поле с вектором из Filewalker? Зачем параллельная запись в файл и отображение на экране? - я не говорю что это сложно, я спрашиваю зачем? Пробежаться по файлам, сформировать список в виде дерева на swing - легко. Записать результат в ввиде xml легко. Отобразить всю информацию в нескольких окнах - легко. Развернуть узлы деревьев - легко. Все ваши вопросы легко решаемы, их можно даже не задавать на форуме, достаточно вбить в гугле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 08:59 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
golovonometrя не говорю что это сложно, я спрашиваю зачем? +1 слово "неблокирующий интерфыйс" просто убивает) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 09:37 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Petro123golovonometrя не говорю что это сложно, я спрашиваю зачем? +1 слово "неблокирующий интерфыйс" просто убивает) ??? Чтение файлов занимает время. Сканирование директории может затянуться в несколько секунд. К тому же автор всё своё гуано хочет ещё и в XML запхать. Не понятно, правда, зачем. Чтобы потом его заново парсить? В любом случае, как XML, так и файловое IO занимает как минимум заметные доли секунд. А как максимум и минуты. Поэтому желание запускать эти задачи вне EDT вполне понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 09:42 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, я согласен, что крутая прога должна быть отзывчива. Но тут вообще стратап. Или демо-версия. Не озвучено что нужно делать при фоновом скане директорий? Чел вообще собирался вывести в текст дерево. Все нестыковки и удивляют. Он ни разу ГУИ не видел, поэтому моё IMHO - потоки во второй версии и теме топика)))) LOL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 10:23 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
пусть скан папок для ключевого файла сделает отдельным сервисом-демоном. Он заменит стартовый XML файл, а ГУИ и так будет работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 10:30 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Petro123я согласен, что крутая прога должна быть отзывчива. Не верно. Даже нормальная прога должна быть отзывчива, иначе для юзера она автоматически - УГ. Petro123Но тут вообще стратап. Или демо-версия. Это, да. Petro123Не озвучено что нужно делать при фоновом скане директорий? Ничего не нужно делать. Нужно дать EDT обслуживать UI. Поскролить там, кнопочки понажимать и т.п. Petro123Чел вообще собирался вывести в текст дерево. Все нестыковки и удивляют. Он ни разу ГУИ не видел, поэтому моё IMHO - потоки во второй версии и теме топика)))) LOL ОК ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 10:48 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
1. На даный момент моя основная задача как вывести этот сформировавшийся XML -- StreamResult console = new StreamResult(System.out); transformer.transform(source, console); -- в SWING (AWT). Я вижу наверное один вариант - через (scrollable) Jtextarea, ибо этот клас принимает как аргумент входной поток (я так понимаю transformer.transform(source, console)). 2. Если мне сказано вывести XML, то деревья наверное не подойдут. 3. Если мне надо сперва провести индексацию файлов (как отдельное задание), то я должен в каком то контейнере сберечь все эти свойства. А потом записать их в файл на диске (3-ье задание). Второе задание -- это вывести эти три свойства в виде XML в GUI -- что наверное самая непростая задача в целом задание. Ведь для первого надо кнопку, для третьего кнопку и лейбл. Потому напрямую считывать свойства в XML -- противоречит первому заданию индексации. Как и не окончив индексации - выводить в XML или записывать в файл - потому надо очевидно поставить какой то предупреждение что индексация еще не окончена. 4. Потоки очевидно если можно применять то по отношению к выполнению второго и третьего задание (здесь и заключается идея non-lockable интерфейс, переведите его лутче). 5. Думаю возможности джавы с помощью листенеров позволяют сперва сформировать вектор (если можно то и другой "масив" индексации), а потом поочеродно с этого вектора считывать информацию в GUI XML и записывать в файл. ...Blazkowicz, не надо называть вещи плохими именами, вообще не понимаю вашей критики. Уже неоднократно написал, что, и в каком порядке должно делать приложение - у вас наверное нет идеи как сделать проще и лутче (ну разве на С++ или С#), хотя эти три фактически готовые части работают при минимуме кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 15:33 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
И никакой это ни стартап, это свого рода практическое задание (но не преподавателю), хотя может уже неактуальное, но которое надо сделать, как раз после того как я уже сделал один графический интерфейс, не менее сложный. То есть сейчас уже все-таки иной уровень понимае джавы, да и проблем с недостатком памяти нету (хотя здесь я сканировал диск который в 4 разы меньше обьема двух других дисков). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 15:39 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt1. На даный момент моя основная задача как вывести этот сформировавшийся XML -- StreamResult console = new StreamResult(System.out); transformer.transform(source, console); -- в SWING (AWT). Я вижу наверное один вариант - через (scrollable) Jtextarea, ибо этот клас принимает как аргумент входной поток (я так понимаю transformer.transform(source, console)). 2. Если мне сказано вывести XML, то деревья наверное не подойдут. 3. Если мне надо сперва провести индексацию файлов (как отдельное задание), то я должен в каком то контейнере сберечь все эти свойства. А потом записать их в файл на диске (3-ье задание). Второе задание -- это вывести эти три свойства в виде XML в GUI -- что наверное самая непростая задача в целом задание. Ведь для первого надо кнопку, для третьего кнопку и лейбл. Потому напрямую считывать свойства в XML -- противоречит первому заданию индексации. Как и не окончив индексации - выводить в XML или записывать в файл - потому надо очевидно поставить какой то предупреждение что индексация еще не окончена. 4. Потоки очевидно если можно применять то по отношению к выполнению второго и третьего задание (здесь и заключается идея non-lockable интерфейс, переведите его лутче). 5. Думаю возможности джавы с помощью листенеров позволяют сперва сформировать вектор (если можно то и другой "масив" индексации), а потом поочеродно с этого вектора считывать информацию в GUI XML и записывать в файл. ...Blazkowicz, не надо называть вещи плохими именами, вообще не понимаю вашей критики. Уже неоднократно написал, что, и в каком порядке должно делать приложение - у вас наверное нет идеи как сделать проще и лутче (ну разве на С++ или С#), хотя эти три фактически готовые части работают при минимуме кода. я извиняюсь, но с трудом вникаю в это задание. Если вы сформированный xml хотите отобразить текстом в JTextArea, ну и вы водите его текстом. Почему для xml деревья не подойдут? Сохраняйте на диск, не обязательно кидать Thread. На листенеры добавите события, которые будете слушать и производить действия. Расскажите подробней про индексацию, зачем она? В чем суть этого практического задания? Потоки это отдельная тема в java, взять потоки нахрапом и в GUI будет не просто. Почему бы не своять сначала логику работы консольного приложения, научится работать с xml, с методами сохранения на диск, а потом уже начать писать GUI. В GUI тоже миллион камней. Работа с потоками в swing особена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 16:49 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
BlazkowiczPetro123пропущено... +1 слово "неблокирующий интерфыйс" просто убивает) ??? Чтение файлов занимает время. Сканирование директории может затянуться в несколько секунд. К тому же автор всё своё гуано хочет ещё и в XML запхать. Не понятно, правда, зачем. Чтобы потом его заново парсить? В любом случае, как XML, так и файловое IO занимает как минимум заметные доли секунд. А как максимум и минуты. Поэтому желание запускать эти задачи вне EDT вполне понятно. пусть занимает, для его задачи 1 потока хватит, он нажмет на своем интерфейсе кнопку, запусится процесс, который начнет писать в модель того же JTree данные. Просто в такой каше, советовать ТС начать работать с потоками в GUI, я думаю появится еще тонна вопросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 16:54 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtпотому надо очевидно поставить какой то предупреждение что индексация еще не окончена ещё один совет, а вы уж решайте. - фраза выше говорит, что потоки будут после пилотного проекта без потоков. ТЗ -- - файл скана папок лежит рядом с программой - программа без всяких потоков, т.е. основной поток (ГУИ). - при старте программа загружает файл и показывает его - если захотелось пересканировать, есть кнопка "Скан медиа-файлов" - при скане файл очищается и ничего сделать нельзя, кроме свернуть или закрыть программу - при даблклике на строке списка он запускается проигрывателем в ОСи - хэшмап\индексы исп-тся чтобы сразу найти файл на диске по пути файла (см.формат выше) Удачи! на третью страницу скоро пойдём ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.10.2015, 17:44 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Через console.toString() в методе создание xml превратил его в метод с возвратом String, но код: Код: java 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. TextArea возвращает javax.xml.transform.stream.StreamResult@d8326d -- но не список XML или StreamResult не превращаются в String, или надо очевидно применять InvokeLater() ибо очевидно при сотни тысяч тегов <файл> (для практических целей я их ограничил к 10 начальных) надо сперва сформировать целый список тегов а потом их присваивать полю класа и выводить его в TextArea. Или как? Возможно ли это? Да и пример кода для скроллабл текстовой области, но при запуске кода она почему то скролится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2015, 02:23 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt, xmlmain() - вот этот метод смотреть надо, обратить внимание на то, когда вы из Stream'a строку получаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2015, 15:34 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
1. У меня есть две идеи еще как можно было бы реализовать это задание. Первая использование все таки двох потоков -- первый исполняется пока не сформируется целый список xml (так наверное до десятка минут), и использование метода join свидетельствует об окончание процесинга xml в этом потоке - потом готовый стринг передается в textarea --хотя наверное наивно думать, что это можно реализовать. Может ли быть String в десятки, даже сотни тысяч линеек, еще с правильными переходами со строки на строку?... 2. Второй вариант - это использование метода read() от textarea для перебрасывание потока System.out (но последний должен быть типа Reader), да и неизвестно можно ли вообще правильно конвертировать єти типы, при сохраниение форматирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2015, 16:52 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
golovonometr, да там до сотни тысяч строк должно быть, если не милионы(85*5 тыс.)--количество файлов и еще умножыть на 5 строк xml тегов для каждого файла. В том то и заключается вопрос как передать правильно и полностью выход xmlmain() в текстовое поле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2015, 16:56 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtВ том то и заключается вопрос как передать правильно и полностью выход xmlmain() в текстовое поле. Я вроде написал, что задача показать в текстовом поле файл на диске рядом с программой. Java вроде это умеет. Это первый класс вторая четверть. ... arrt1. У меня есть две идеи еще как можно было бы реализовать это задание. ну, если не читать идей что тебе предлагают, то выдвигай ещё кучу, пока к топику не потеряют интерес. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2015, 17:19 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Petro123, "Я вроде написал, что задача показать в текстовом поле файл на диске рядом с программой." - мне надо в текстовом поле показать: ... </File> <File> <Name>SMARTDRV.EXE</Name> <Size>45379</Size> <Path>c:\DOS\SMARTDRV.EXE</Path> </File> </FileSystem> --Файл на диске, для чего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2015, 17:34 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtмне надо в текстовом поле показать: если для тебя сложно распарсить XML зачем он тебе? Ты же выбрал? В проводнике или винде ты какой формат видишь? Может тот чтоя выше привёл? Или cvs на крайний. arrt--Файл на диске, для чего? прочитай выше ТЗ и задай вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2015, 18:10 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2015, 18:12 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
xmlmain() дает на выходе System.out (но тип xmlmain() void). Надо что-бы textarea.read() принял этот System.out как System.in, что-бы xmlmain() возврашал Writer тип, ибо read() как аргумент принимает Reader обьект. Для чего изобретать велосипед? Для чего что-то усложнять. Не верю, что невозможно в текстовое поле вывести консоль (поток текста). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2015, 19:04 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
ну конечно. Если тебе вбилось в башку, что перед открытием текстового поля должен какой то класс делать работу в arrt Код: java 1. 2. вместо того чтобы вообще выкинуть этот класс и написать типа: Код: java 1. я же говорю, первый класс вторая четверть. Сами себе придумываем сложности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2015, 20:59 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Petro123, myTextarea.read(new FileReader(file.getAbsolutePath()), null); -- Так чтобы записать в file.getAbsolutePath() надо наверное записать с помощью FileWriter-а, и передать ему как аргумент (System.out), может лутче передать напрямую myTextarea.read(new Reader(System.out),...). У меня в задание - вывести в XML - а не записать на диск, а потом еще и считывать с файла. Хотя если это дает экономию в месте на диске, то можно обойдить такой записью в файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2015, 21:33 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtУ меня в задание - вывести в XML - а не записать на диск, а потом еще и считывать с файла. дак ты разговаривай человеческим языком, а не как программист маньяк, который видит только своё решение. .... В первом посте ты выбирал XML вроде САМ. Если ты не можешь изменить формат, то скажи это чётко. 2. Если не писать на диск, то при каждом старте ты по новой сканируешь? Зачем? Препод задал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2015, 21:43 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
"Если не писать на диск, то при каждом старте ты по новой сканируешь?" - кажется там есть вектор (в ОП) с которого можно считывать в XML и записывать на диск. В этом коде надо конвертировать OutputStream в InputStream, что наверное не так то просто. Ибо это класы абстактные самого верхнего уровня. Код: java 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2015, 00:09 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Считать с xml-файла в текстовое поле несколько сложнее нежеле вы написали (вот это работает): Код: java 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. А перевести вых.поток во вх.поток надо использовать Pipedout(in)putStrems, или метод setout - с котором сегодня впервые слышу. В любом случае если записывать в файл на диске надо знать наперед что такой диск есть, есть там место, или еще делать окно для задание имени файла. То есть сейчас предстоит задача -- уже делать окончаательный ГУИ, если конечно в индексере не надо было указывать еще принадлежность файлов папкам (есть такой пример на java2s). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2015, 03:27 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt"Если не писать на диск, то при каждом старте ты по новой сканируешь?" - кажется там есть вектор (в ОП) с которого можно считывать в XML и записывать на диск. у тебя удивительная способность не отвечать на вопросы. - да или нет? Код: java 1. 2. где тут мы читаем файл? arrtкажется там есть вектор чтобы не делать говонокод, сделай 2 класса: Код: java 1. и Код: java 1. 2 класа нужны, т.к это совершенно разные по функционалу элементы. В первый класс передаётся ГУИ объект, а второй может быть вызван хоть сервисом, хоть шедулером, хоть листенером по событию с операционки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2015, 12:31 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
итого будет вместо: Код: java 1. 2. типа так: Код: java 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2015, 12:34 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtСчитать с xml-файла в текстовое поле несколько сложнее нежеле вы написали (вот это работает): да. Замечательно. Только нельзя мешать код создания ГУИ с фашими циклами. - убери весь код while(! eof) в ЧитаемФайлXMLиДобавляемНодуИмя(textArea); и оставь пока вывод голого XML текста arrtВ любом случае если записывать в файл на диске надо знать наперед что такой диск есть, есть там место, или еще делать окно для задание имени файла. выше по ТЗ файл рядом с программой. Без всякого окна выбора. arrtТо есть сейчас предстоит задача -- уже делать окончаательный ГУИ нет. Идти ровно по ТЗ что я написал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2015, 12:42 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
1.Не хочет читать текст-ареа с потока, даже после того как я использовал "трубу", и перенес метод метод создание xml в клас ГУИ. Код: java 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. И проблема в этом коде: Код: java 1. 2. 3. 4. 5. -без него создается хоть пустое но окно textArea, а с ним даже обьект textArea не появляется. 2. Может действительно, если здесь выводится System.out, то взять и по-строчкам (через readline), добавлять текст в текст-ареа с помощью append() - но там был EOF, а здесь. Можно ли с помощью setOut перенаправить System.out в какой то виртуальный поток а потом уже добавлять по строкам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2015, 17:12 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtиспользовал "трубу", мда...видно что вы программист маньяк)). Сами с собой разговариваете. System.out у вас как неотвязная белая горячка. Удачи в терзаниях задачи первоклассника! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2015, 17:33 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Petro123, вы пожалуста не обзывайтесь, а то на воре шапка горит. C xml да и с потоками фактически не работал, потому можете смело не меня, а себя програмистом, и в придачу маньяком назвать. Я вообще то в последнем посте спрашивал почему не работает textArea.read(). Очевидно, что можно компонент трансформера (он ведь на выходной поток или в файл перенаправляет xml) не использовать, а выводить напрямую обьект Document.--> toString() – кажется это собственно xml. Но выведется ли полностью текст, или надо по строчкам, непонятно. Касательно OutputStream в InputStream, то это распространенный вопрос в Интернете, и именно «пайп» позволяет его разрешить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2015, 21:48 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtКасательно OutputStream в InputStream, то это распространенный вопрос в Интернете, и именно «пайп» позволяет его разрешить. В большинстве случаев не позволяет. Если бы я хоть немного знал Java, я бы посоветовал посмотреть Apache Commons IOUtils.copy(). Но так как Java я совсем не знаю, то посоветовать не могу. И объяснить Piped*Stream тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2015, 09:14 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, copy работает в обратном порядке in->output. Вот получилось передать в append такой метод - Код: java 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. Но выводит в тестовой области xml не полинейках, а подряд (считывание readline дает тот же результат). В консоли дает вообще без формата текст: File:6 MSDOS.SYS c:\MSDOS.SYS File:95202 COMMAND.COM c:\COMMAND.COM not </File> <File> <Name>MSDOS.SYS</Name> <Size>6</Size> <Path>c:\MSDOS.SYS</Path> </File> <File> <Name>COMMAND.COM</Name> <Size>95202</Size> <Path>c:\COMMAND.COM</Path> </File> Изменение в SetoutputProperty Intend ничего не дают - ходя в предыдущей версии метода - смена yes на no - вообще выводит xml в одну линейку подряд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2015, 18:47 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt, информатику в школе изучал? Код: java 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2015, 19:50 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Petro123, да не имеет JtextArea метода add. И с файла я уже считывал УСПЕШНО два дня тому или три. Но уже тогда заметил что вместимость JtextArea ограничена. Вот теперь удалось с помощью append прикрепить форматированый xml в textArea но когда проверил то увидел что лиш для 300 файлов выводит информацию о свойтсвах (1500 строк) - и еще хуже хотя поставил ограничение на прочтение лиш 1000 файлов (всего на диске С:\ 85 тыс.) но считывалась эта информация несколько минут как со всего диска, но вывело информацию лиш для 300 файлов. И самое интересное что сперва был в консоли неотформатированый xml - наверное лиш те 1000 файлов, а потом в консоли отображался форматированый xml несколько минут. То есть почему то break в методе после 1000 не прошел (или все пошло по второму кругу). в любом случае -- несколько минут окно textArea не отображалось (ну может это можно было решить спомощью invokeLater)--если нет то даже не знаю как в GUI это разрешыть. Ну и главный вопрос -- какая максимальная длина в строках JtextArea (может кто подскажет)- не думаю что более 100 тыс. что мне надо, потому вариант наверное отпадает. Может в С++ (QT) возможности лутче. Потому остается лиш вариант Jtree - хотя там может тоже быть ограничение. В любом случае смысла отображать все файлы нету - лиш для наглядности (как и для Jtree - хотя это не очень XML). Потому сейчас задаю простой вопрос -- как в Jtree сделать узлы раскрытыми?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2015, 20:14 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtPetro123, да не имеет JtextArea метода add. === и похожего нету? И с файла я уже считывал УСПЕШНО два дня тому или три. === и где код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2015, 20:25 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtНо уже тогда заметил что вместимость JtextArea ограничена. Мария Васильевна на информатике тебе скажет: "Вася! Мы просто заменим слово textAtea" на "таблицаБД", а ПарсерXML на DataSet ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2015, 20:28 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt, всё остальное после ответов, а то ты сам с собой бредишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2015, 20:29 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Петро, повирь мне, меня такого учительница даже близко не учила, и когда это было. Для чего здесь еще и БД подвязывать - это пытался сделать весной для этого задания - xml апендится уже, второй вопрос как. Вопрос реально, не только к этому заданию, почему не можно прочитать поток с помощью метода read() в текстовую область. Для чего изобретать китайский велосипед с БД (это разве не бред?), если так должно работать - это не Высшая Математика програмирования. Выберу все таки вариант с записью XML файла, а потом считывания. Хотя не очень то хорошо они записываются на диск – с ошибками и не полностью. А еще надо поле для поиска файла по названию, и еще в XML... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 14:24 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt, ты много строк не пиши. Один фиг, отвечаешь и осмысливаешь ты только одну. arrtВыберу все таки вариант с записью XML файла, а потом считывания. ТЗ 18350305 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 14:45 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Я так понял должен здесь отчитыватся... Выбрал запись на диск (хотя после предпоследней записи файл записи был несколько кб, теперь 0 - то есть дело не очень надежное), ибо не хочется ждать минуты пока xml покажется в самом приложение - да и третье (а может второе) задание выполню - запись на диск - проверить которое сможет даже непрограмист. А задание заполнение текстовой области с памощью read() остается на усмотрение реальных опытных програмистов - может это был как раз тот вариант, самый подходящий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 14:56 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Вот считываю с файла xml при builderFactory.setValidating(true) и пытаюсь вывести в консоль при помощи метода transform() и получаю - Код: java 1. 2. 3. 4. Что вручную вписывать, или может при записи файла указать необходимые параметры? Ведь если сделаю builderFactory.setValidating(false) то в консоле вобьще ничего не отображается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 17:30 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt, забудь слово консоль, поток, трансформ. Выше тебе даже код по информатике привели ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 18:26 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Ну такая переписка точно бред. Я ведь уже пишу что записываю в файл и считываю с файла-и тут такие ошыбки, которые разве вручную устранять. А считывать с файла надо для поиска по тегам NAME- хотя может этой ошибки и не будет при поиске- да и эти ошибки не единичные. Но как их устраниить при записи в файл не понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 22:17 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt, ну дак, если студент, то хотя бы списывать уметь надо. А тебя видно не научили. Посему тяжёлый случай. Удачи тебе. Раз в полгода заходишь к нам). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 22:58 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Троллинг у вас нормальный. Хотя можете ввести в гугл слова "xml java read file" и "xml java write file" - но вряд ли найдете свои "уроки информатики". Я страраюсь делать так сказать как во всех ресурсах написано - но тут видимо наткнулся на проблему которую будет трудно разрешить. Как может у меня корневой элемент совпадать с null если он имеет название FILESYSTEM, да хоть любою другое. Использование Element mainRootElement = doc.createElementNS(" http://crunchify.com/CrunchifyCreateXMLDOM",null) не помогает. Даже System.out.println ("Root element of the doc is " + xmlDoc.getDocumentElement().getNodeName()) выдает эту же ошибку. Хотя конечно поиск можно делать и после формирование виртуального масива xml типа Document, но для чего тогда стандартная запись и чтение xml... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2015, 23:50 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt, дак вы несёте какую то ересь. Где код процедуры чтения файла и записи в textAra? Засунь подальше свой код записи и оттестируй код чтения файла. Дальше я твой ответ не читаю, т.к. с тобой можно говорить только одним предложением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2015, 00:29 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
уроки информатики очень годятся чтобы не было говнокода, как у тебя. А например так: Код: java 1. 2. 3. 4. так, в 4 строки пишут на информатике в школе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2015, 00:51 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Вы что мне еще притензии ставите будете. Вообще то я обратился на форум чтобы побыстрее сделать задание (чтобы мне по-сути что-то подсказали). Чтение с файла кажется есть вначале. И я могу считать в текст.ареа как через append (поток с файла) так и напрямую (при передаче String xmlmain1() где использвуется ElementToStream() ). Только меня удивляет некие "причуды" компилятора который в последнем варианте использует прочтение всего списка файлов на диске С (хотя в методе волк поставлено ограничение на 1000 файлов), выводит только 300. Так и сейчас - заменил doc.createElementNS на просто doc.createElement -записало 500 свойств файлов xml на диск, отменил валидацию при чтение с файла - и заработало. Но при выводе всех этих xml после чтение на консоли отображается лиш вторая половина (Вот если причина в том что я использую не Эклипс, то действительно создаю себе проблем-но раньше с этим проблем не было). В любом случае - можно компонировать метод для поиска файла по имени в xml. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2015, 00:58 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtВы что мне еще притензии ставите будете. разумеется. Это публичный форум. Если ты выложил говнокод, читай отзывы и исправляй. авторЧтение с файла кажется есть вначале. крестится надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2015, 01:03 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtотменил валидацию при чтение с файла - и заработало я тебе сказал выкини свой мусор со стримами, потоками и валидацией ещё на 2-ой странице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2015, 01:06 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtВ любом случае - можно компонировать метод для поиска файла по имени в xml. совет - заведи новую тему. Тут всё решено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2015, 01:08 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtзаписало 500 свойств файлов xml на диск, отменил валидацию при чтение с файла - и заработало. Но при выводе всех этих xml после чтение на консоли отображается лиш вторая половина (Вот если причина в том что я использую не Эклипс, то действительно создаю себе проблем-но раньше с этим проблем не было). В любом случае - можно компонировать метод для поиска файла по имени в xml. то что выводит не все данные на консоль, то советую посмотреть на размер буфера, если запускаете через cmd там можно в свойствах указать. Stream в JTextarea не очень хорошее решение, я если честно не видел такого. Если мне требуются компоненты для гуи, данные в которые поступаю динамически, в режиме реального времени - я переопределяю jlist jtable, пишу рендереры и едиторы. В них обрабатываю то что мне нужно. JTextarea нужен для того чтобы отобразить текст который может не влазить в 1 строку или, для ввода текста который не помещается в 1 строку. Для отображения каких-то данных, в иерархии, диманически обновляемых. врят-ли он вам подойдет. Хотя вы можете его использовать и для этого, использовав постоянно методы getText и setText. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2015, 08:42 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
golovonometrХотя вы можете его использовать и для этого, использовав постоянно методы getText и setText. в JTextArea можно и динамически текст добавлять. Просто это делается через модель, а не сам компонент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2015, 09:22 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
BlazkowiczgolovonometrХотя вы можете его использовать и для этого, использовав постоянно методы getText и setText. в JTextArea можно и динамически текст добавлять. Просто это делается через модель, а не сам компонент. + здорово, посмотрел апи. Я как-то упустил это, не думал что у него есть модель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2015, 12:06 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
golovonometr, пока еще понятие не имею, чем здесь модель может помочь, и в чем ее суть. settext() наверное не лутче Append(), и последнее суто детище JtextArea и добавляет в конец, если добавлять по строкам. У меня есть метод xmlmain который возвращает String и правильно выводить текст-- и в заканчитвается строками: Код: java 1. 2. 3. - но до появление тесктовой области надо ждать несколь коминут. Думаю это через то что надо чтобы главный клас наследовал Jframe, и там уже была бы пустая текстовая область, которая лиш в мейне при вызове метода append бы заполнила эту текстовую область. Через FileReader read() работает, но там четко обозначен второй аргумент - имя (обьект) самого файла, а если считывать со второго потока, то второй аргумент нулл или неизвестно что. И самое главное -- почему самая текстовая область не появляется - конструктор создание ее обьекта ведь присущ, даже если read() не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2015, 17:40 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtпока еще понятие не имею, чем здесь модель может помочь только не это. Не надо модели)). Ни в коем случае) LOL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2015, 17:48 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtи в заканчитвается строками: если решил опять флеймить - весь код чтения файла в студию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2015, 17:50 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Решилось. Теперь форматированое XML появляется в Jtextarea за пару секунд (в даном случае 5 тыс. описей файлов с 25 тыс. линеек тескта). Достаточно было продвинуть метод апенда текста- textArea.append(CrunchifyCreateXMLDOM1.xmlmain1 ()); - в самый конец класа GUI, когда сперва появляется пустая текстовая область, а после процесинга она заполняется. метод использованый из 3-ей страницы (спасибо сайту Java2s) - String xmlmain1 () - там он з типом возврата ByteArrayOutputStream - но это неправильно ибо апенд берет лиш стринговые аргументы (но главное там использование toByteArray()). Теперь мне надо компоновать GUI, но обезпечить non-locking для 4 заданий(4 методов) -что-бы в конкретное время исполнялся лиш один метод-что-то на подобе sychronized? Но как это сделать в Свинге понятие не имею. Как и поставить такие ограничение как невозможность записи в файл и рендеринга до окончание индексации, или невозможность поиска файла по его названию пока не записан xml на диск. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2015, 03:07 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
"А Васька слушает, да ест." Тебе 3 страницы в башку вбивали что не нужны потоки. Тупой? Тогда и ограничения будут сами собой работать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2015, 07:46 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
//Petro123, с вашыми советами не соскучишся. Может хватит. На счет предупреждение, что исполняется (или не выполнено) другое задание - то напримере рендеринга XML надо наверное если исполянется индексация - в ее начале инициализировать некую переменную init в значение false, и если метод рендеринга проверяет ее и выявляет false то выводить сообщение, что надо подождать проведение индексации (и в таком случае через брейк выход из метода). Хотя здесь переменная init может принимать три значение- например, 0-индексация не запущена, 1-проводится индексация, 2-индексация полностью проведена. 0-дефолтное значение, 1-в начале метода индексации, 2- в конце метода индексации. Проблема потоков здесь наверное не очень актуальна, а вопрос locking может возникнуть если, эта индексация проводится очень долго, хотя вряд ли возможно зависание апликации. Хотя действительно надо использовать сохранение вектора индексации в виртуальной памяти, или во всех первых 3ех методах вызывать метод Filewalker.walk(). При поиске файла по имени можно уже считывать с записаного файла, если конечно не будет проблем с записую, тем болем всего масива xml. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2015, 13:41 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
студент, не выкладывай тут свою летопись жизни. А то как в анекдоте про чукчей - "что вижу то пою". У тебя девичья память: golovonometrarrt, давайте вы не будете делать поспешных выводов? Просто вы не изучив инструмент, делаете вывод, а под зачастую неправильный вывод - пытаетесь написать реализацию. Свинг - однопоточен, вам его (1) потока будет достаточно, чтобы отображать все ваши данные, даже на этапе получения их. Я не вижу здесь необходимости нескольких потоков. 18347129 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2015, 13:53 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
//Petro123, думаю здесь больше неуместной критики не будет (по-сути пожалуста) Выявляется если выводить все xml файлов в textarea со всего диска С:\, то появляется уже давно изветсная ошибка Именно на строке textArea.append(CrunchifyCreateXMLDOM1.xmlmain1 ()); Exception in thread "main" java.lang.OutOfMemoryError: Java heap space. Если записывать в файл, то отображается лиш 3 тыс. элементов, хотя всего на диске 85 тыс. единиц (xml всего 350 кб весит), и такая проблема при записи постоянна. В конце списка xml –такая ошибка - "Не удается отобразить страницу XML - Не удается просмотреть ввод XML с использованием списка стилей XSL." То есть я так понимаю Записать весь xml на диск я не смогу?. Выход наверное сегментация – например несколько textare.append () применить, если нехватка памяти через невозможность апенда передать за раз больше например 5 мб., если текстовая область неможеть выдержать столько мегабайт, то разве Jtree использовать. Тогда поиск надо разве по вектору обьектов Filewalker использовать. Если кто не понимает – то таких проблем нету при небольших количествах файлов свойств которые считываются – например при 5 тыс. все нормально вчера работало. Если ошибки связаны с памятью – то на диск сериализированый файл занимал место около 12 мб., пока что на диске в 2 разы больше (хотя в общем очень мало), и размер xml не больше обьема сериализации. Памяти 0,5 гиг –может на компе с нормальной памятью - OutOfMemoryError: Java heap space не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2015, 20:50 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt//Petro123, думаю здесь больше неуместной критики не будет (по-сути пожалуста) "я знал, я знал..." что прочтёшь только первое предложение из 5 предложений что я написал). авторВыявляется если выводить все xml файлов в textarea со всего диска С:\, то появляется уже давно изветсная ошибка А если выводить с c:\ d:\ e:\ f:\ то ты дорос до записи в БД и ключей путей файлов в БД. А то ты в бреду щас начнёшь строить собственную БД...с ключами, поиском, пагинацией и моделью. 18361312 Второй вариант - format c: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2015, 22:06 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Petro123, вас уже должны были заблокировать. Про БД у меня в начале написано - хотя толку - xml это обычный текстовый файл. Однако как написано в англоязычном интернете - dom схема - может создать максимум сотни, или тысячи узлов (которые все есть обьектами), а здесь только файлов 85 тыс. Вот кажется простая альтернатива -stax- http://tutorials.jenkov.com/java-xml/stax-xmlstreamwriter.html. Больше того - вот уже пол часа записисывается файл xml - пока что не написано что program finished. А проверяя обьем этого файла - вот такая динамика - 0 - 3.45 мб. - 0 - 1.8 мб - 3.8 мб. То есть что то мешает полностью записать этот файл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2015, 23:36 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtPetro123, вас уже должны были заблокировать. я санитар леса. Не позволяю тебе разговаривать самому с собой. А то мы потеряем тебя. arrtПро БД у меня в начале написано - хотя толку - xml это обычный текстовый файл. вот опять). Эта фраза, она о чём? В первом классе С++ на тебя сильно повлиял. Переведи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 06:23 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt, Вот взять твою тему про ГИС. Ты ее решил? Бери БД и не лезь в системный код и дебри. У тебя не выходит. Энтропия возрастает и результат недостижим. Катастрофа. Результат должен быть на 2ой странице любого топика (с) ))). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 07:44 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Petro123, дивно что вас не заблокировано, может какая хотя бы автоблокировка сработает. Если я все детально описываю, это через то что мне надо это как можно быстрее сделать. Будет напутствие другим, да и я сам если надо что-то припомню. То что есть 4 страницы это одно а то что нету дельных советов это очевидно. Вот был же вариант использовать stах writer (ибо dom разве для пару тысяч узлов, не более). Там все очень просто и быстро. Две закавыки --1. Все записывается в одну строку - потому надо какой то эфективный способ размещение перехода на другую строку возле открывающихся и закрывающихся тегов.2. Надо чтобы не было проблем с прочтением кирилицы. Когда указал кодировку в startDocument("utf-8"), то появилась другая проблема. Что так трудно было подсказать о stах? Не думаю что эти две проблемы не решаются. Хотя поиск по тегам с помощью stах rеаdеr вряд ли проведеш. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 14:38 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt, у меня впечатление, что ты чтобы ответить, долго собираешься в дорогу.... целый день идёшь в гору повыше, где GPRS берёт... потом с дерева отправляешь очередную порцию про Petro123)). Маньяк)). .... Советы тебе были. Только ты слушаешь те советы, которые ни на полградуса от твоей мысли. Это диагноз. Ссылки уже давал. Опять про ГИС твой спрашивать пустое дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 14:57 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtPetro123, дивно что вас не заблокировано, может какая хотя бы автоблокировка сработает. Странно что вас не заблокировано за хамство , например. Petro123 тут единственный кто в ваш поток сознания вникает. arrtЕсли я все детально описываю, это через то что мне надо это как можно быстрее сделать. "Дарахой днефничок." arrtБудет напутствие другим, Вы себе льстите. arrtТо что есть 4 страницы это одно а то что нету дельных советов это очевидно. Во-первых потому что нет внятных вопросов. Во-вторых потому что далеко не все хотят помогать хаму. arrtВот был же вариант использовать stах writer (ибо dom разве для пару тысяч узлов, не более). Там все очень просто и быстро. Две закавыки --1. Все записывается в одну строку - потому надо какой то эфективный способ размещение перехода на другую строку возле открывающихся и закрывающихся тегов.2. Надо чтобы не было проблем с прочтением кирилицы. Когда указал кодировку в startDocument("utf-8"), то появилась другая проблема. Что так трудно было подсказать о stах? Не думаю что эти две проблемы не решаются. Хотя поиск по тегам с помощью stах rеаdеr вряд ли проведеш. Вариантов есть 100500. Но чтобы получить помощь, нужно задать вопрос и попробовать доступно описать проблему. У вас же на форуме сплошной поток сознания не разбитый даже на абзацы. Большинство просто не может понять в чем же именно вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 15:38 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
То есть пусть 4 страницы напишу, пару дней потрачу и напрасно ибо dom даже теоретически не может десятки тысяч узлов поддержать. Хотя в моем последнем посте вопрос был уже о stах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 20:30 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrt, ты адекватен? С тобой разговаривают в форме диалога. Т.к. это форум. А тебя "твои мозги несут тебя впереди тебя". Потребитель)). Есть форма - "блог" прямо на данном форуме. Если чё. Я бы имхо тоже закрыл это топик, т.к. никакой ценности он не несёт. Пусть формулирует новый вопрос: "Как мне юзверю вывести сотни тысяч нодов на экран" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2015, 10:27 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Я тему создал, я задаю здесь вопросы, которые мне не понятны. Если кто-то здесь постоянно дописывает, то что мне не нужно, то думаю возникает вопрос именно в его в адекватности. Задаю снова таки вопрос по-сути: Делаю запись xml в файл (xmlstreamwriter) - и на строке writer.writeStartDocument("UTF-8","1.0") - выскакивает такой эксепшн при исполнение- javax.xml.stream.XMLStreamException: Underlying stream encoding 'Cp1251' and input paramter for writeStartDocument() method 'UTF-8' do not match. Я так понимаю, что это связано с 'Cp1251' (кирилицей) - в чем здесь причина - что при записи в 'UTF-8', компилятор не может считать название и пути к файлам в 'Cp1251' ? Если записываю без кодироки writer.writeStartDocument(), без ошибок, - то при чтение с файла уже в DOM (метод парсинга который у меня работает, и который можно использовать для поиска файлов по названию) - показывает UTFDataFormatException: Invalid byte 2 of 2-byte UTF-8 sequence, что очевидно связано с кириллицей. Третий момент, если при чтение в DOM c на файла на десятки тисяч xml возникнет та же проблема с недостатком памяти, что и при записи DOM, то мне очевидно надо создавать и Stax методы для чтения и поиска по тегам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2015, 15:17 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
BlazkowiczarrtТо что есть 4 страницы это одно а то что нету дельных советов это очевидно. Во-первых потому что нет внятных вопросов. Во-вторых потому что далеко не все хотят помогать хаму. +, дельных советов в дальнейшем и не предвидится. Хотите советов - задавайте правильно вопрос и не хамите. авторТо есть пусть 4 страницы напишу, пару дней потрачу и напрасно ибо dom даже теоретически не может десятки тысяч узлов поддержать. Хотя в моем последнем посте вопрос был уже о stах. Я не Ванга и не ясновидящий, мне трудно предсказывать ход ваших мыслей, да я и не должен этого делать. Мне сложно понять, как работает ваш код и чего, вы добиваетесь от него. Уверен, так же и остальные. Может вам и помогли бы с тем, что вы хотели, если бы вы - более ясно выражали свои мысли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2015, 15:18 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtЯ тему создал, я задаю здесь вопросы, которые мне не понятны. Если кто-то здесь постоянно дописывает, то что мне не нужно, то думаю возникает вопрос именно в его в адекватности. Задаю снова таки вопрос по-сути: Делаю запись xml в файл (xmlstreamwriter) - и на строке writer.writeStartDocument("UTF-8","1.0") - выскакивает такой эксепшн при исполнение- javax.xml.stream.XMLStreamException: Underlying stream encoding 'Cp1251' and input paramter for writeStartDocument() method 'UTF-8' do not match. Я так понимаю, что это связано с 'Cp1251' (кирилицей) - в чем здесь причина - что при записи в 'UTF-8', компилятор не может считать название и пути к файлам в 'Cp1251' ? Если записываю без кодироки writer.writeStartDocument(), без ошибок, - то при чтение с файла уже в DOM (метод парсинга который у меня работает, и который можно использовать для поиска файлов по названию) - показывает UTFDataFormatException: Invalid byte 2 of 2-byte UTF-8 sequence, что очевидно связано с кириллицей. Третий момент, если при чтение в DOM c на файла на десятки тисяч xml возникнет та же проблема с недостатком памяти, что и при записи DOM, то мне очевидно надо создавать и Stax методы для чтения и поиска по тегам. А давай ты все таки встанешь на путь просвещения, потратишь время и задашь вопрос правильно? Я хочу сделать .... у меня есть код ... ожидаю от него ... но получаю ... пробовал ... и ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2015, 15:25 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Да есть у меня код, здесь приведен он полностью - http://expirebox.com/download/d1c8014b84d9dd6abd06d82a1ecd339d.html. В чем причина run-time exception, какую еще кодировку кроме utf-8 применить, чтобы не возникала ошибка при записи в файл, а потом при чтение в DOM? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2015, 15:50 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtЕсли кто-то здесь постоянно дописывает, то что мне не нужно логика(главное качество программиста) говорит, что дело не во мне. Не знаю, ходил ли ты в детский сад (наверно нет). Но общаться в социуме ты не научился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2015, 15:50 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtДа есть у меня код, здесь приведен он полностью - уже лучше. Но никто не будет качать что-то себе на машину. Приведи код чтобы он был сразу виден и отформатирован. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2015, 15:52 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
arrtВ чем причина run-time exception полный стек ошибки сюда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2015, 15:55 |
|
||
|
Листинг файлов с использованием GUI
|
|||
|---|---|---|---|
|
#18+
Ладно, не буду коментировать. Напишу,что полный стек приведен, кроме указание на какой строке (тоже выше указана) и в каком методе в самом методе мейн этот экспешн. В этой части Код: java 1. 2. 3. 4. 5. Вот делайти вывод о просвещение – ответ найден на http://stackoverflow.com/questions/2943605/stax-setting-the-version-and-encoding-using-xmlstreamwriter И чтение с файла и поиск в DOM не вызывает ошибок, для малого количества, но для всего диска С –где то на 80% чтения – уже давно известная ошибка Outofmemory – heap space. Снова конкретный вопрос: при чтение в Stax этого не будет? Как поставить какой-то счетчик на метод, чтобы по истечение этого времени, метод мог закончить исполнение, ибо при чтение в textarea c файла ошибка с памьятью не появляется, но происходит очень долго ибо там около 400 тыс. строк. [/SRC] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2015, 19:07 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2124705]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
157ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
131ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 588ms |

| 0 / 0 |
