evgeniy8705
@evgeniy8705
Повелитель вселенной

Как можно считать определенные части строк из файла?

Есть класс адаптер для Writer:
class EntityOutputWriter implements EntityOutput {
    private final Writer out;

    public EntityOutputWriter(Writer out) {
        this.out = out;
    }

    @Override
    public void writePerson(Person person) throws IOException {
        int age = person.getAge();
        String name = person.getName();

        out.write("<person>\n");
        out.write("    <age>" + age + "</age>\n");
        out.write("    <name>" + name + "</name>\n");
        out.write("</person>\n");

        out.flush();
    }

    @Override
    public void writePoint(Point point) throws IOException {
        out.write("<point x = '" + point.getX() + "' y = '" + point.getY() + "'/>\n");

        out.flush();
    }
}


После использования данного класса, в файл записываются данные следующего вида (Значения приведены для примера. В реальности они указываются при записм в файл в конструкторе):
<point x = '11' y = '15'/>
<person>
    <age>28</age>
    <name>Nick</name>
</person>


Нужно написать адаптер для Reader у которого методы чтения будут возвращать объекты Point и Person:
class EntityInputReader implements EntityInput {
    private final Reader src;

    public EntityInputReader(Reader src) {
        this.src = src;
    }

    @Override
    public Person readPerson() throws IOException {
        // some code
       // return new Person(???, ???);
    }

    @Override
    public Point readPoint() throws IOException {
        // some code
       // return new Point(???, ???);
    }
}


Как написать данные методы чтения? Как считать только данные: 11, 15, "Nick", 28, чтобы их передать в конструктор в методах readPoint() и readPerson()?
  • Вопрос задан
  • 163 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы