2013-11-25 5 views
0
try 
{ 
    BufferedReader br = new BufferedReader(
      new FileReader(selectFile.getSelectedFile())); 
    String str; 

    ArrayList <String> lines = new ArrayList<String>(); 

    while((str = br.readLine()) != null){ 
     lines.add(str); 
    } 
    String[] LinesArray = lines.toArray(new String[lines.size()]); 

    System.out.println(lines); //Prints Array list on the screen. 

    br.close(); 
} 
catch(IOException e) 
{ 
    System.out.println("The file cannot be read"); 
} 

n 번째 단어을 파일에서 어떻게 인쇄 할 수 있습니까? 예를 들어, 사용자가 프로그램을 실행하고 단락이있는 파일을 선택하고 텍스트 파일의 12 번째 및 30 번째 단어를 인쇄하려고합니다.텍스트 파일에서 n 번째 단어 읽기

스플릿을 사용해 보았지만 나에게 적합하지 않았습니다. 제안 사항이 있으십니까?

+3

1. 붙여 넣기 만 관련 코드. 2. 귀하의 코드를 인디고 제대로 포맷하십시오. 3. 파일 내용이 stringBuffer로 변환 될 수 있으므로 예상 결과가 출력 된 예제 입력 파일을 게시하십시오. – alfasin

+0

StringBuffer에는 n 번째 문자열을 검색하는 데 좋은 API가 있습니다. subString (x, x + 1) – Zeus

+0

@ 제우스는 n 번째 문자열이 아니라 n 번째 문자열입니다. – alfasin

답변

1
Scanner input = new Scanner(new File("someText.txt")); 
int count = 0; 

while(input.hasNext() && count <= 30){ 
    count++; 
    String word = input.next(); 

    if (count == 12){ 
     System.out.println(word); 
    } 
    if (count == 30){ 
     System.out.println(word); 
    } 
} 
0

배열에 단락이 이미있는 것처럼 보입니다. 제 제안은 배열을 살펴보고 공간 카운터를 계속 유지하면서 공간 카운터가 원하는 숫자 (예 : 11 번째)에 도달하면 시작할 수 있다는 것입니다. 그 동안 단어를 인쇄하는 동안 공간을 계속 계산하고 29 번째 공간 이후에 인쇄를 중단합니다.

+0

공간을 어떻게 계산합니까? 죄송합니다. 프로그래밍에 익숙하지 않습니다. – yamp03

+0

나는 위의 의견에 동의한다. 당신을 돕고 싶어하는 사람들에게 쓸모없는 질문의 일부 코드를 잘라야한다. – Koshien

+0

공간을 계산하고 그냥 배열을 탐색하고 .equals ("")를 사용하여 각 요소를 공간과 비교하십시오. .equals 문이 true를 반환하면 카운터에 1을 더합니다. – Koshien