내가 모든 라인 내 경우에는 다음 6220에 6220로 시작 읽고 싶어읽기 여러 줄은
6200MIGS Draft Capture 001527160719256
98769 2030000000002385250000000000000000000000000719024031629498071912403119100719301201208620112629498 00QFCBA003353109297315583010 036000000190 100 000000 SHOEBRIDGE/DANIEL T MR VI50 0818950138744 600110190
6221QANTAS AIR AUSTRALIA 036 T
6223 0000000000000000000
6229SHOEBRIDGE/DANIEL T MR 0818950138744 QF YNOGVJ 15022602300045 -00000238525000000000000000000000000005
62301702281700BNE MEL QF H XHLFEU 631 000000000000000000000000000000000000
62311702282335MEL DXB QF H XHLFEU 9 000000000000000000000000000000000000
62321703011450DXB LYS QF H OHLFEU 8081 000000000000000000000000000000000000
62331703082115CDG DXB QF O XOLREU1 8076 0818950138745 000000000000000000000000000000000000
62341703091025DXB BNE QF O OLREU1 8434 0818950138745 000000000000000000000000000000000000
622001005123456789QFCBA003353109297315583000 036000000190 100 000000 DETTMAN/GLEN MR CA50 0818950138719 600110190
6221QANTAS AIR AUSTRALIA 036 T
6222 0719 000
6229DETTMAN/GLEN MR 0818950138719 QF YYUGBM 15022602300045 -00000057565000000000000000000000000002
62301703151800MEL SYD QF L OLPTSCN01 458 000000000000000000000000000000000000
62311703251830SYD MEL QF M MPTSCN01 463 000000000000000000000000000000000000
아래와 같이 텍스트 파일이 기록으로 시작하는 접두사를 기반으로하고이를 처리하는 라인은 2-9이고 나는 레코드로 부를 것이다. 그런 다음 시작 접두사를 기반으로 레코드의 각 줄을 처리하고 싶습니다. 예를 들어 6223으로 시작하면 필요한 데이터를 추출합니다. 내 질문에 어떻게 레코드로 줄을 읽고 다음 개별적으로 처리 할 수 있습니다.
가 표시되고 다시 내가 지금까지입니다했다 advance.The 코드에 도움이 .thanks 될 것
여기File infile = new File("C:\\Data\\Everyday work\\tmp\\CBRF.GEN4_FILE.20160719.txt");
File outfile = new File("C:\\Data\\Everyday work\\tmp\\CBRF.GEN4_FILE.20160719.txt-DCFOUT.txt");
FileReader reader;
Scanner scanner;
public void output() {
try {
FileWriter writer = new FileWriter(outfile);
reader = new FileReader(infile);
BufferedReader br = new BufferedReader(reader);
String str;
BufferedWriter bw = new BufferedWriter(writer);
bw.flush();
while ((str = br.readLine())!= null) {
scanner = new Scanner(str);
String line = scanner.nextLine();
if (line.startsWith("6220", 0)) {
recordtype = line.substring(0, 4);
msgrtypId = line.substring(4, 8);
}
}
}
난 라인으로 라인을 읽을 수 있습니다 무엇을 달성하려고하는 것은 라인 사이의 라인을 읽는 것입니다 (6220) 및 다음 라인 프리픽스 (6220)를 레코드로서 포함한다.
글쎄, 텍스트 파일에서 문자열을 읽는 코드를 작성하는 것으로 시작할 것입니다. 또는 당신의 질문은 정확히 무엇입니까? – GhostCat
먼저 파일을 열고'BufferedReader'를 사용하여 파일을 한 줄씩 읽습니다. 아니면 간단합니다 : 당신은 몇 가지 코드를 작성하여 시작합니다. * 그 다음 *, 당신이 곤란을 겪으면, 당신은 우리에게 당신이 가지고있는 코드와 당신이 코드와 관련된 * 특정 문제에 대한 설명을 보여줍니다. – Andreas
질문 작성자가 시도하지 않은 코드 작성 요청이므로이 질문을 주제와 관련이없는 것으로 닫으려고합니다. – Andreas