Мне нужно разобрать строку и вытащить информацию для ввода в базу данных - PullRequest
1 голос
/ 28 марта 2012

вот этот файл: ISA * 00 * 00 * 02 * HMES * ZZ * MGLYNNCO * 120321 *1220* U * 00401 * 000015676 * 0 * P *: ~ GS * FA * HMES * MGLYNNCO * 20120321 *1220* 15691 * Х * 004010 ~ ST * 997 * 000015730 ~ АК1 * SM * 18292 ~ АК2 * 204 * 182920001 ~ AK5 * А ~ AK9 * А * 1 * 1 * 1 ~ SE * 6 * 000015730 ~ GE * 1 * 15691 ~ МЭА * 1 * 000015676 ~

IN JAVA

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

public class EdiParserP {

    public static void main(String[] args) {
        //retrieves the file to be read     
        File file = new File(args[0]);

        int ch;
        StringBuffer strContent = new StringBuffer("");
        FileReader fileInSt = null;

        try{
            fileInSt = new FileReader(file);

            while ((ch = fileInSt.read()) != -1)strContent.append((char)ch);
            fileInSt.close();
        }
        catch (FileNotFoundException e)
        {
            System.out.println("file" + file.getAbsolutePath()+ "could not be found");
        } 
        catch (IOException ioe) {
            System.out.println("problem reading the file" + ioe);
        }
        System.out.println("File contents:" + "\n" + strContent + "\n");//used to check to see if file is there
        System.out.print("Length of file" +" " + strContent.length()+ "\n"+ "\n");//used to count the length of the file
        String buffFile = strContent.toString();//used to convert bufferstring to string

        //breaks apart the file with the given delimiter
        StringTokenizer st = new StringTokenizer(buffFile , "*");
        while(st.hasMoreTokens())
        {
            String s =st.nextToken();
            System.out.println(s);
        }
    }
}

Полагаю, тогда мой второй вопрос: как извлечь информацию для помещения в базу данных, я знаю, как подключиться к базе данных и как вставить, я думаю, я просто не уверен, как извлечь данные из эта строка? спасибо за помощь

1 Ответ

0 голосов
/ 28 марта 2012

Возможно, это не поможет вам до конца, но использование класса StringTokenizer устарело, вы должны использовать простой метод split () класса String.

Если честно, я не знаю, что вы действительно хотите сделать с этим файлом. Вы хотите снова разделить каждую строку, полученную от класса StringTokenizer?

...