2013-07-17 4 views
-2

궁금 해서요, .txt 파일의 문자열 부분 만 읽을 수있는 방법이 있습니까? 예를 들어 "1,5,10,20"이 내 .txt 파일에 있으면 Java에 특정 "int"에 "1"을 저장 한 다음 다른 int에 "5"를 저장하는 등의 작업을 수행 할 수 있습니까? 나는 그것을 충분히 분명히하기를 바란다!Java에서 .txt 파일의 텍스트 부분을 읽는 방법?

고마워요!

P.S 나는 BufferedReader를 사용하여 Java의 .txt 파일에서 전체 텍스트 행을 읽는 방법을 알고 있지만, 특정 부분 만 읽는 방법은 아닙니다.

+2

가 ['Scanner']를 살펴 보자 (http://docs.oracle.com/javase/7/docs/api/java/util/Scanner :

다음과 같은 코드를 사용할 수 있습니다 .html) 클래스. –

+0

좀 더 구체적으로 말씀해 주시겠습니까? – Geforce132

+0

스캐너 클래스는 다음 토큰을 정수로 읽는 데 사용되는 nextInt 메소드를 제공합니다. –

답변

1

Scanner 클래스를 사용하면 Scanner#nextInt() 메서드를 사용하여 다음 토큰을 int로 읽을 수 있습니다. 귀하의 정수 쉼표로 구분 된 (,) 때문에 이제, 당신은 기본 구분 기호로 whitespace 문자를 사용하여 Scanner쉼표 구분 기호로 (,)를 설정해야합니다. 이를 위해서는 Scanner#useDelimiter(String) 메서드를 사용해야합니다.

Scanner scanner = new Scanner(new File("demo.txt")); 
scanner.useDelimiter(","); 

while (scanner.hasNextInt()) { 
    System.out.println(scanner.nextInt()); 
} 
+0

정말 고마워요, 효과가있었습니다! 아프는 확실히이 위치에 수시로 있으십시오! – Geforce132

+0

@ Geforce132. 당신은 환영합니다. :) 그리고이 사이트에있는 것보다 더 많은 것은 문서화와 사랑에 빠져 있어야합니다. 그들은 거의 항상 귀하의 질문에 대한 답변을 가지고 있습니다. –

0

Scanner 클래스에는 일부 구분 기호로 구분 된 값을 선택하고 변환하는 데 사용할 수있는 hasNextXyz()nextXyz() 메서드 집합이 있습니다.

String lineOfInts = "1,5,10,15,20"; 
Scanner scanner = new Scanner(lineOfInts).useDelimiter(","); 

while (scanner.hasNextInt()) { 
    System.out.println(scanner.nextInt()); 
} 

자세한 내용은 Scanner#nextInt()을 참조하십시오.

+0

고마워, 그건 사실을 정리했다. 마지막으로, "새로운 Scanner()"매개 변수를 사용하여 문자열이 아닌 파일에서 텍스트를 읽게하려면 어떻게해야합니까? – Geforce132

+0

버퍼링 된 리더를 사용하여 파일을 읽었으므로 readLine()에서 얻은 라인을 스캐너로 전달합니다. 파일 형식이 어떻게됩니까? 모든 번호가 한 줄에 있으면 [스캐너 (파일 소스)] (http://docs.oracle.com/javase/7/docs/api/java/util)를 사용하여 스캐너에 파일을 공급할 수 있습니다. /Scanner.html#Scanner(java.io.File)) 생성자입니다. –

+0

오, 전혀 다른 사람이 벌써 나를 위해 대답했습니다. 어쨌든 비록 고마워 :)! – Geforce132

관련 문제