Есть список
1 Pinchuk Evhen.O 01-02-1992 02-01-2019
2 Ainchuk Evhen.O 02-02-1992 03-01-2019
3 Binchuk Evhen.O 03-02-1992 04-01-2019
4 Cinchuk Evhen.O 04-02-1992 05-01-2019
5 Dinchuk Evhen.O 05-02-1992 06-01-2019
Я его пытаюсь разбить токанайзером но получаю вместо одного значения - целый столбик.
FileInputStream fstream = new FileInputStream(file);
String line;
String delimiter = " ";
int linecounter=0;
StringTokenizer tokenizer;
BufferedReader input = null;
try{
input = new BufferedReader(new InputStreamReader(fstream));
while ((line = input.readLine()) !=null){
linecounter++;
tokenizer = new StringTokenizer(line,delimiter);
while (tokenizer.hasMoreElements()){
String id = tokenizer.nextToken();
String name = tokenizer.nextToken();
String surname = tokenizer.nextToken();
String dateBirthday = tokenizer.nextToken();
String dateStartWorking = tokenizer.nextToken();
System.out.println(id+name);
Делаю проверку на вывод в конце получаю столбец А мне нужно внести данные в моей метод
List<Worker> workers = new ArrayList<>();
workers.add(new Worker(id,name,surname,dateBirthday,dateStartWorking));
String fileName = "list.xml";
writeToXML(workers,fileName);
в итоге вносит только последнюю строку
<?xml version="1.0" encoding="UTF-8"?>
<Person xmlns="person">
<Person id="5">
<name xmlns="">Dinchuk</name>
<surname xmlns="">Evhen.O</surname>
<DateBirthday xmlns="">05-02-1992</DateBirthday>
<DateStartWorking xmlns="">06-01-2019</DateStartWorking>
</Person>
</Person>
Если вносить данные в ручную, то метод работает правильно и все вносит!
workers.add(new Worker("1","Papa","Papa","02-01-01192","02-01-1992"));
Помогите! Где я налажал ? Уже все перепробовал!
Полный код
public class Main {
public static void main(String[] args) throws TransformerException, IOException {
StringBuilder string = new StringBuilder();
String file = "text.txt";
FileInputStream fstream = new FileInputStream(file);
String line;
String delimiter = " ";
StringTokenizer tokenizer;
BufferedReader input = null;
List<Worker> workers = new ArrayList<>();
String fileName = "list.xml";
try{
input = new BufferedReader(new InputStreamReader(fstream));
while ((line = input.readLine()) !=null){
tokenizer = new StringTokenizer(line,delimiter);
while (tokenizer.hasMoreElements()){
String id = tokenizer.nextToken();
String name = tokenizer.nextToken();
String surname = tokenizer.nextToken();
String dateBirthday = tokenizer.nextToken();
String dateStartWorking = tokenizer.nextToken();
System.out.println(id);
//Добавлю элементы в список
workers.add(new Worker(id,name,surname,dateBirthday,dateStartWorking));
}
writeToXML(workers,fileName);
}
}catch (FileNotFoundException e) {
System.out.println("Unable to open file " + fstream);
} catch (IOException e) {
System.out.println("Unable to read from file " + fstream);
}finally {
try {
if (input != null)
input.close();
} catch (IOException e) {
System.out.println("Unable to close file " + fstream);
}
}
}
private static void writeToXML(List<Worker> workers, String fileName) throws IOException{
Document doc = new Document();
doc.setRootElement( new Element("Person", Namespace.getNamespace("person")));
for (Worker worker : workers){
Element workerElement = new Element("Person", Namespace.getNamespace("person"));
workerElement.setAttribute("id", String.valueOf(worker.getId()));
workerElement.addContent(new Element("name").setText(worker.getName()));
workerElement.addContent(new Element("surname").setText(worker.getSurname()));
workerElement.addContent(new Element("DateBirthday").setText(worker.getDateBirthday()));
workerElement.addContent(new Element("DateStartWorking").setText(worker.getDateStartWorking()));
doc.getRootElement().addContent(workerElement);
}
XMLOutputter xmlWriter = new XMLOutputter(Format.getPrettyFormat());
xmlWriter.output(doc, new FileOutputStream(fileName));
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть программа, которая работает, но числа long очень долго думает, а иногда и не все выписываетУсловия : программа должна работать пока не вводится...
Смысл в том, что в зависимости от получаемых методом GET параметрах сервлетом необходимо выполнить тот или иной метод - getN1FromDB, getN2FromDB и тд
Я хотел бы использовать эту красивую SVG-анимацию, размещенную на CodePen, но я не могу понять, как запустить или перезапустить анимацию:
Где-то со вчерашнего дня в чате на моем сайте, работающем при помощи Commet Server не работает функция