Как ввести текст из пользовательского входного файла для разбора - Java - PullRequest
0 голосов
/ 07 июня 2011

Я изучаю Java уже несколько месяцев, и столкнулся с проблемой, по которой мне нужна помощь.У меня есть пользовательский файл ввода, который имеет много записей в форме:

>Item1 Description
DILDEQCLKGACQGTSVVIHTA
>Item2 Description
DILDEQCLKGACQGTSVVIHTASVIDVRNAV
>Item3 Description
AEKAGTS
>Item4 Description
RNAVPRHESAW

В этом файле может быть до 100 элементов.Это основной текстовый файл, и заглавные последовательности будут различаться в зависимости от элемента.Я думаю, что другие читатели / парсеры полагаются на «>», чтобы начать следующую запись.Полагаю, мне тоже следует.

Моя цель - создать новый файл из пользовательского входного файла, который содержит ту же строку >ItemX Description, но последовательность букв должна быть обратной.Я экспериментировал со Scanner, FileInputStream, DataInputStream и BufferedReader.Не уверен, что лучший и лучший способ сделать это будет.

Как мне загрузить эти данные, чтобы я мог проще всего перевернуть строку?Кажется, что существует так много способов ввода данных, я просто все больше и больше теряюсь ... У меня есть реверсор строк, который, кажется, работает, поэтому моя цель сейчас - загрузить эти данные и затем преобразовать их в строку.для обращения.

Заранее благодарим за любую помощь.

ПРИМЕЧАНИЕ - вот как может выглядеть одна из этих записей:

>41_BOVIN (Q9N179) Protein 4.1 (Band 4.1) (P4.1) (4.1R) MHCKVSLLDDTVYECVVEKHAKGQDLLKRVCEHLNLLEEDYFGLAIWDNATSKTWLDSAK EIKKQVRGVPWNFTFNVKFYPPDPAQLTEDITRYYLCLQLRQDIVSGRLPCSFATLALLGSYTIQSELGDYDPELHGADYVSDFKLAPNQTKELEEKVMELHKSYRSMTPAQADLEFLEN AKKLSMYGVDLHKAKDLEGVDIILGVCSSGLLVYKEKLRINRFPWPKVLKISYKRSSFFI KIRPGEQEQYESTIGFKLPSYRAAKKLWKVCVEHHTFFRLTSTDTIPKSKFLALGSKFRY SGRTQAQTRQASALIDRPAPHFERTASKRASRSLDGAAAVEPADRTPRPTSAPAIAPSPA AEGGVPGAPVKKAQKETVQVEVKQEEAPPEDAEPEPSEAWKKKRERLDGENIYIRHSNLM LEDLDKSQEEIKKHHASISELKKNFMESVPEPRPSEWDKRLSTHSPFRTLNINGQIPTGE GPPLVKTQTVTISDTANAVKSEIPTKDVPIVHTETKTITYEAAQTDDSNGDLDPGVLLTA QTITSETTSSTTTTQITKTVKGGISETRIEKRIVITGDADIDHDQVLVQAIKEAKEQHPD

Так что мне нужно было бы сделать строки со 2 по 12 в одну большую строку, а затем перевернуть ее.

1 Ответ

1 голос
/ 07 июня 2011

Не изобретай велосипед! В библиотеках общего доступа Apache для вас решено много типичных задач программирования. Вот два класса, которые вы можете использовать для своей задачи:

List<String> lines = org.apache.commons.FileUtils.readLines(file);

, который выполняет всю работу по вводу / выводу за вас и считывает строки файла в виде списка. Затем вы можете использовать другой класс Apache Commons для обращения:

org.apache.commons.lang.StringUtils.reverse(str);

Если вы используете maven, вот зависимости:

Для класса FileUtils (и многих других):

<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.0.1</version>
</dependency>

Для класса StringUtils (и многих других):

<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.6</version>
</dependency>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...