GorDeveloper 356 Опубликовано 22 апреля, 2014 Название: Парсер Добавил: AwakenDev Добавлен: 22 Apr 2014 Категория: Прочее Автор: AwakenDev Было нечего делать на работе. Нагавнокодил перегонщик итемов из ItemName для себя. При должном подходе можно подпилить для каких угодно целей. Сойдёт для более менее знающих людей. Нажмите здесь, чтобы скачать файл 9 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ВладиславИгоревич 5 Опубликовано 22 апреля, 2014 Из всех слов понял только слово - людей - лайк поставил, за -наговнокодил- Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GorDeveloper 356 Опубликовано 22 апреля, 2014 Из всех слов понял только слово - людей - лайк поставил, за -наговнокодил- Да в общем другие слова и не нужны, для тех кто не подходит под группу людей из последнего предложения. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Моветон 413 Опубликовано 22 апреля, 2014 Кому и для чего это может понадобиться? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GorDeveloper 356 Опубликовано 22 апреля, 2014 Кому и для чего это может понадобиться? Откуда я знаю? Кому надо - тот заберёт. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Моветон 413 Опубликовано 22 апреля, 2014 Пойду лабы на си публиковать. Кому надо - тот заберет. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GorDeveloper 356 Опубликовано 22 апреля, 2014 (изменено) Пойду лабы на си публиковать. Кому надо - тот заберет. Я рад за тебя, троллидзе. Не флудерасть. Изменено 22 апреля, 2014 пользователем AwakenDev Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
madzal 464 Опубликовано 22 апреля, 2014 хм пригодится))) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kenrix 14 Опубликовано 22 апреля, 2014 Не красиво оставлять catch пустым добавь везде catch (Exception e) { e.printStackTrace(); } молодец пригодится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GorDeveloper 356 Опубликовано 22 апреля, 2014 Не красиво оставлять catch пустым добавь везде catch (Exception e) { e.printStackTrace(); } молодец пригодится. В целом catch тут, просто костыль от IOException Я ж написал, "Нечего было делать...", поэтому о правильности реализации особо не думал. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VREDNbIi 145 Опубликовано 22 апреля, 2014 В целом catch тут, просто костыль от IOException Я ж написал, "Нечего было делать...", поэтому о правильности реализации особо не думал. ну и зачем выкладывать? учим начинающих не пойми чему, а потом будете же их тролить за написания кода подобногоминусовать за это надо, а не плюсы тыкать.... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GorDeveloper 356 Опубликовано 22 апреля, 2014 ну и зачем выкладывать? учим начинающих не пойми чему, а потом будете же их тролить за написания кода подобного минусовать за это надо, а не плюсы тыкать.... ну вот захотел я выложить. Начинающие, вряд ли вообще поймут как сие пользовать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mizuwokiru 181 Опубликовано 23 апреля, 2014 (изменено) Вот что-то на подобии, парсит с клиента скиллы + описание: import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.LineNumberReader; import java.util.StringTokenizer; /** * @Author AwakenDev **/ public class ParserApp { private static String inputFilename = "123.txt"; private static String outputFilename = "213.txt"; public static void main(String args[]) throws Exception { load(); } public static void load() { File f = new File(inputFilename); if (!f.exists()) { System.out.println("Not find file: " + f.getAbsolutePath()); } LineNumberReader reader = null; try { reader = new LineNumberReader(new FileReader(f)); String line = null; while ((line = reader.readLine()) != null) { if (line.trim().length() == 0 || line.startsWith("id")) continue; String args[] = line.split("\t", -1); String id = args[0]; String level = args[1]; String name = args[2]; String description = args[3]; String desc_add = args[4]; write(id, level, name, description, desc_add); } } catch (Exception e) { System.out.println("Exception: " + e); } finally { try { reader.close(); } catch (Exception e) { } } } public static void write(String id, String level, String name, String description, String desc_add) { try { File f = new File(outputFilename); if (!f.exists()) { f.createNewFile(); } FileWriter writer = new FileWriter(f, true); writer.write("<!-- " + description + "-->\n"); writer.write("<!-- " + desc_add + "-->\n"); writer.write("<skill id = \"" + id + "\" name = \"" + name + "\" level = \"" + level + ">" + "\n"); writer.write("\t" + "<set name = \"skillType\" val = \"NOTDONE\"/>"+ "\n"); writer.write("\t" + "<set name=\"target\" val=\"TARGET_NONE\"/>"+ "\n"); writer.write("\t" + "<set name = \"operationType\" val = \"OP_ACTIVE\"/>"+ "\n"); writer.write("</skill>" + "\n"); writer.close(); } catch (Exception e) { } } } Единственное, что нужно сначала файл сам декриптовать в читаемый для текстового редактора формат (L2Edit или как там его) и переименовать в 123.txt. Может позже сделаю запись сразу в xml файл =) Изменено 23 апреля, 2014 пользователем DiQuero Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Twinker 487 Опубликовано 23 апреля, 2014 Вот что-то на подобии, парсит с клиента скиллы + описание: import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.LineNumberReader; import java.util.StringTokenizer; /** * @Author AwakenDev **/ public class ParserApp { private static String inputFilename = "123.txt"; private static String outputFilename = "213.txt"; public static void main(String args[]) throws Exception { load(); } public static void load() { File f = new File(inputFilename); if (!f.exists()) { System.out.println("Not find file: " + f.getAbsolutePath()); } LineNumberReader reader = null; try { reader = new LineNumberReader(new FileReader(f)); String line = null; while ((line = reader.readLine()) != null) { if (line.trim().length() == 0 || line.startsWith("id")) continue; String args[] = line.split("\t", -1); String id = args[0]; String level = args[1]; String name = args[2]; String description = args[3]; String desc_add = args[4]; write(id, level, name, description, desc_add); } } catch (Exception e) { System.out.println("Exception: " + e); } finally { try { reader.close(); } catch (Exception e) { } } } public static void write(String id, String level, String name, String description, String desc_add) { try { File f = new File(outputFilename); if (!f.exists()) { f.createNewFile(); } FileWriter writer = new FileWriter(f, true); writer.write("<!-- " + description + "-->\n"); writer.write("<!-- " + desc_add + "-->\n"); writer.write("<skill id = \"" + id + "\" name = \"" + name + "\" level = \"" + level + ">" + "\n"); writer.write("\t" + "<set name = \"skillType\" val = \"NOTDONE\"/>"+ "\n"); writer.write("\t" + "<set name=\"target\" val=\"TARGET_NONE\"/>"+ "\n"); writer.write("\t" + "<set name = \"operationType\" val = \"OP_ACTIVE\"/>"+ "\n"); writer.write("</skill>" + "\n"); writer.close(); } catch (Exception e) { } } } Единственное, что нужно сначала файл сам декриптовать в читаемый для текстового редактора формат (L2Edit или как там его) и переименовать в 123.txt. Может позже сделаю запись сразу в xml файл =) Что??? Это и есть парсер AwakenDev..... Копирайт "@Author AwakenDev" такой незаметный, да и код тоже разный, да? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GorDeveloper 356 Опубликовано 23 апреля, 2014 (изменено) Не, код переписанный нормально, в отличии от моей пятиминутки Просто некоторые были не в курсе о таких чудесных ютилках как FileReader, FileWriter и т.д. Надо было подтолкнуть созданием примера. З.Ы. 2 DiQuero в xml перебивается элементарно. Даже если в несколько. Изменено 23 апреля, 2014 пользователем AwakenDev Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mizuwokiru 181 Опубликовано 23 апреля, 2014 (изменено) Что??? Это и есть парсер AwakenDev..... Копирайт "@Author AwakenDev" такой незаметный, да и код тоже разный, да? А я говорю, что это мое дело? Я просто изменил сам метод чтения и все. А копирайт было даже лень убирать Не, код переписанный нормально, в отличии от моей пятиминутки Просто некоторые были не в курсе о таких чудесных ютилках как FileReader, FileWriter и т.д. Надо было подтолкнуть созданием примера. З.Ы. 2 DiQuero в xml перебивается элементарно. Даже если в несколько. Ну я знаю, что перебивается просто =) В принципе, я пока учу то, что задают на парах, по-этому на подробное изучение Java никак не хватает времени. В общем, благодарю, так сказать, за парсер, а то никак не мог понять всю суть считывания и записи файлов. Изменено 23 апреля, 2014 пользователем DiQuero Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GorDeveloper 356 Опубликовано 23 апреля, 2014 А я говорю, что это мое дело? Я просто изменил сам метод чтения и все. А копирайт было даже лень убирать Ну я знаю, что перебивается просто =) В принципе, я пока учу то, что задают на парах, по-этому на подробное изучение Java никак не хватает времени. В общем, благодарю, так сказать, за парсер, а то никак не мог понять всю суть считывания и записи файлов. Да подробного изучения совсем не надо. Достаточно разметки и указания dtd с листом. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты