2014-06-10 3 views
-3

이것은 FILE입니다. 나는 읽고 있습니다 이 파일에서 특정 값을 얻는 방법.자바에서 특정 시퀀스 간의 값을 추출하는 방법

나는 328 개 문자 6000에서 (그것은 가 있거나 비어 ellse 수) 4000에서 550로 시작하여 데이터를 466 문자 형태로 2000 년부터 데이터

을 싶어.

Line 1 : Starts from character 2000 to 466 characters 
Line 2 : starts from character 4000 to 550 characters 
Line 3 : starts from character 4000 to 550 characters 
Line 4 : starts from character 6000 to 328 characters 

즉, 그리고 나머지 부분을 주로 파일 헤더를 무시하고 바닥 글 파일.

내가 지금까지입니다 했는가

UPDATE

StringBuilder sb = new StringBuilder(); 
newSize = in.readLine(buffer); 
System.out.println("newsize-------------"+newSize); 
while (newSize > 0) { 
String str = buffer.toString(); 
sb.append(str); 
sb.append("\n"); 
newSize = in.readLine(buffer); 
} 
String s = sb.toString(); 
/* 
* differentiating header,body and footer 
*/ 
if(s.length() >0){ 

String header = sb.toString().substring(0,466); 
System.out.println("header-------------------"+header); 

//unable to get body part 
} 

이 어떻게 신체 부위를 얻는 방법?

+0

downvoters 내가 4000 "문자에서 시작하여 신체 부분 - 즉, 빈 표시 part.But 헤더를 처리 할 수 ​​있어요 내 질문에 –

답변

1

당신은 그것으로 수행 할 수 있습니다

  • 는 문자열 변수에 파일의 전체 내용을 읽어보십시오.
  • 전화 사용자의 특정 문자의 인덱스 substring 방법

참고 : 당신은 바운드 예외의 제한을 피하기 위해 substring 메서드를 호출하기 전에 문자열 변수 길이를 확인해야합니다. 내가 당신이라면

UPDATE

는 병이 난 내 문자열을 하위에있는 인덱스를 결정하는 하위 문자열 값,하지만 병 사용 indexOf 방법을 얻을 수있는 고정 된 값을 사용하지 마십시오. 예를 들어

:

int startIndex= fileContent.indexOf("some unique starting characters"); 
int endIndex = fileContent.indexOf("some unique endingcharacters"); 
+0

예 살라을 향상시킬 수 있습니다 .so를 언급 해주십시오 "550 바이트입니다.하지만 4000에서 파일을 살펴보면 1에서 550까지 보여주기 시작합니다. 파일은 1 행 헤더와 같습니다 - 0-466, 2 행 본문 - 0 -550 및 3 행 꼬리말 - 0-328 –

+0

내 업데이트, 당신을 도울 수 있기를 바랍니다. – Salah

+0

FileContent는 유일한 시작 인덱스가 없습니다 .U는 입력에서 확인할 수 있습니다.하지만 FileContentcontains (2000)와 유사 할 수 있으며, (4000) 데이터가 포함될 경우 466 문자까지 데이터를 가져올 수 있습니다. [0이 될 수 있습니다] 그리고 만약 (6000) 328까지 데이터를 얻을. 그리고 2000과 6000 헤더입니다 –

관련 문제