2014-05-14 3 views
0

일부 줄이 포함 된 일부 텍스트가 있습니다. 모든 줄에 하나의 단어가 있습니다. 텍스트를 복사 한 다음 Eclipse 콘솔 출력 창에 붙여 넣고 마지막으로 각 행을 배열에 저장해야합니다.자바의 배열에 텍스트 줄을 저장하십시오.

각 텍스트의 줄 수를 알 수 없습니다. 내가 어떻게 할 수 있니?

내가 울부 짖는 소리처럼해야 배열 일부 문자열을 저장하려면 나도 알아,하지만이 방법으로 싶지 않아 :

String[] Lines = {"line1", "line2", ....}; 

답변

2

당신이 얼마나 많은 줄을 모르는 경우 당신은 일반적인 목록을 사용할 수 있습니다.

값을 추가하면 동적으로 크기가 조정됩니다.

배열을 사용하고 크기 조정을 수행 할 수도 있습니다. ArrayList는 배후에서 코드를 작성하는 것입니다. 당신이 JDK를 사용하는 경우

+0

그런 다음 lines.add (string); – Timo

+0

btw. Java7 +를 사용하는 경우 List lines = new ArrayList <>()를 쓸 수도 있습니다. – Timo

0

7 + 당신은 쉽게

List<String> list = Files.readAllLines(new File("test.txt").toPath()); 

하여이 작업을 수행 할 수 있습니다하지만 당신은 여전히 ​​배열

List<String> list = Files.readAllLines(new File("test.txt").toPath()); 
String[] str = list.toArray(new String[list.size()]); 

처럼 배열에 그 목록을 변환하거나 사용하려는 경우 당신이 해달라고하면이 파일을 복사하여 콘솔에 붙여 넣으십시오. 시도해보십시오.

List<String> lines = new ArrayList<String>(); 
Scanner s = new Scanner(System.in); 
while(s.hasNextLine()){ 
    String line = s.nextLine(); 
    if(line.length() > 0) { 
     lines.add(s.nextLine()); 
    } else { 
     break; 
    } 
} 
System.out.println(lines); 
+0

감사합니다.하지만 .txt 파일에서 가져 오지 않으려 고합니다.이 파일을 Eclipse Console Output 창에 붙여 넣은 다음 배열에 저장하려고합니다. – user3637733

+0

나는 내 응답에서 그 코드를 가지고있다. :) –

1

초기화 후 배열 크기를 변경할 수 없습니다 그것을 alize. 이전 데이터를 변경하면 데이터가 손실됩니다. ArrayList를 사용하여 항목을 동적으로 추가 할 수 있습니다. 예를 들어;

ArrayList<String> list = new ArrayList<>(); 
    //read your file here and print it. After that; 
    list.add(line); // I assumed you get lines to a variable called line 
관련 문제