업데이트 : 알아 냈습니다. 아래를 참조하십시오.문자열을 검색 한 다음 텍스트 파일의 다음 줄을 인쇄하십시오.
텍스트 문서에서 특정 문자열을 찾으려고합니다. 문자열을 찾으면 빈 줄이 나올 때까지 줄에있는 정보 만 인쇄하고 싶습니다. 문자열을 찾고 인쇄 할 수 있었지만 항상 문자열이 포함 된 줄을 먼저 인쇄합니다.
예 :
blah blah
ted
blah blah
blah
bl
mike
가 지금은 인쇄 : blah blah blah bl
내가 어쩌면 nextline()
생각하지만 솔직히 아무 생각이 : ted blah blah blah bl
내가 원하는 나는이 문서에서 테드 검색
내 클래스에서 textIO 대신 스캐너를 사용하는 방법. 난 내 자신의 질문에 대답 할 수 없기 때문에
public static void main(String[] args) {
boolean output=false;
String name="";
String junk="CHAMBERS";
TextIO.putln("Search name:");
name = TextIO.getln();
TextIO.readFile("doc.txt");
name = name.toUpperCase();
TextIO.putln(name + "'s "+"Info");
output = false;
while (false == TextIO.eof()) {
String line = TextIO.getln();
if (line.isEmpty())
output = false;
if (line.indexOf(name) >= 0 && line.indexOf(junk)<=0){
output = true;
}
if (output){
line=line.trim();
TextIO.putln(name+":"+'"'+line+'"');}
}
TextIO.putln();
}
나는 여기를 놓을 게요 :
을하면 (출력) 트리에서 :
if (output){
line=line.trim();
if (line.startsWith(name)){}
else{
TextIO.putln('"'+line+'"');}}
이 문자열 '에 대한 행을 확인 이름 '은 그것을 무시합니다. 그런 다음 다음 줄로갑니다. 일부 줄에 이름 앞에 공백이 있으면 trim()을 사용해야했습니다. 이것이 '이름'을 찾을 때마다 새 라인을 끊임없이 만드는 것을 피하기 위해 초보자로서 내가 찾은 유일한 방법입니다. 이 문제에 대한보다 일반적인 해결책을 만들기 위해 필요한 일부 서식을 제거했습니다.
코드를 표시하십시오. – BroSlow