가능한 한 명확하게하려고 노력하지만, 제 질문이 완벽하지 않은 경우 용서해주십시오. 몇 줄의 데이터가있는 txt 파일이 있습니다. 예 :txt 파일의 행을 읽으십시오. [java]
123 랄 보즈 20000 200 1 2
256 에드 쉐인 30,000 100 2 4
... I 각 행을 순차적으로 판독하는 방법에 다시 전달할 필요
처리를위한 별도의 클래스. StringTokenizer를 사용하여 각 줄을 요소로 나누는 방법을 알고 있습니다.
그러나 한 번에 한 줄씩 읽는 방법을 잘 모르겠지만 요소를 다른 클래스로 다시 전달한 다음 처리가 완료되면 NEXT 줄을 읽는 방법을 모르겠습니다. 내 클래스 사이의 메서드 협력이 잘 작동하지만 (한 번에 한 줄씩 읽는 방법)?
나는 각 줄이 배열 요소가 될 것이라고 생각했지만 배열 수는 알 수 없으므로 최종 길이를 알 수 없으므로 배열을 만들 수 없다.
감사
바바
편집
거친 설정 :
클래스 A
end_of_file = f1.readRecord(emp);
if(!end_of_file)
{
slip.printPay(slipWrite);
}
클래스 B
public boolean readRecord(Employee pers) throws IOException {
boolean eof = false ;
String line = in.readLine() ;
???
}
파일 이름은 내가 첫 번째 라인을 읽을 수 있습니다 여기까지 지금까지
주위에 전달되지 않습니다하지만 난 다시에 하나씩 읽어 줄을 반복 할 수있는 방법을 필요가 있다고 생각 그리고 클래스 사이에.
까다로운 ...
안녕 마이클 작동 희망 ... 할 수 있습니다. 내 설치 프로그램에서 파일 이름을 사용할 수 없다고 생각합니까? – raoulbia
@Baba'yourFile'은 실제로 파일 이름이 아닌 ['File'] (http://download.oracle.com/javase/6/docs/api/java/io/File.html) 인스턴스입니다. 별로 중요하지 않습니다. 나는 완전히 당신이 게시 한 코드를 이해하지 못한다. 이 코드는 파일의 각 줄을 읽고 그 전체 줄을'YourClass.processLine'에 전달합니다. 그게 네가 찾고있는거야? 그 외에 무엇이 필요합니까? –
내 문제는 end_of_file 부울 것 같습니다. 해당 부울이 true로 설정되지 않을 때까지 처리 (printPay())를 입력하지 않습니다. 그러나 나는 내가 처리 IF 문을 입력하는 방법에 관해서 혼란 스러울 정도로 각 줄을 읽었을 때까지 그렇게 할 수 없다. 내 readRecord 메서드를 재 작업해야 할 것 같아요. – raoulbia