2014-03-27 2 views
0

내가 같은 이름의 목록이 있습니다 "input.txt를"라는 넷빈즈에서 프로젝트에 파일이 다음 전체 이름을 가진 파일을 java의 arraylist에 저장하려면 어떻게해야합니까?

John Doe 
Magnus Carlsen 
Mikhail Tal 
Bobby Fischer 

내가 가진 ArrayList를 생성 :

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

내가 원하는 arraylist 이름을 추가하십시오. 나는 [0]의 값을 "John Doe"로, [1]의 값을 "Magnus Carlsen"으로하고 싶습니다. 어떻게해야합니까?

+0

Java IO에 대한 자습서를 읽으십시오. –

+0

읽을 수 있습니다. http://stackoverflow.com/questions/2788080/reading-a-text-file-in-java ; 그리고 나머지는'names.add (..)' –

+0

[파일의 내용에서 Java String을 만드는 방법]을 복제 할 수 있습니까? (http://stackoverflow.com/questions/326390/how-to- 파일에서 내용을 생성하는 자바 문자열) – aliteralmind

답변

1

새 (ish) Java 7 nio 파일 클래스를 사용하여 readAllLines을 목록으로 사용하십시오.

List<String> names = Files.readAllLines(Paths.get("C:/path/To/Your/File.txt"), Charset.defaultCharset()); 

P. 당신이 가장자리 출혈 이미 새로 Java 8 출시 사용하는 경우, 당신은 UTF-8 캐릭터 세트를 사용하여 기본값으로 문자 집합을 생략 할 수 있습니다 :

List<String> names = Files.readAllLines(Paths.get("/path/to/names/file.txt")); 
+0

감사합니다. 링크가 권장되지 않습니다. –

+3

링크가 권장되지 않습니다. * 링크 전용 답변 *은 권장하지 않습니다. 거기에 링크를 달고 질문의 맥락에서 그것에 대해 자세히 설명하십시오. – aliteralmind

+0

+1 좋은 답변, 나는 그 방법을 알지 못했다. – morgano

1

이 어떻게 든 간단하다 :

List<String> names = new ArrayList<>(); 

try(BufferedReader reader = new BufferedReader(new FileReader("myFile.txt"))) { 
    String line; 
    while((line = reader.readLine()) != null) { 
     names.add(line); 
    } 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

System.out.println("My list: " + names); 
0

당신

Scanner s = new Scanner(new File("filePath")); 
List<String> names = new ArrayList<String>(); 

while (s.hasNext()){ 
    names.add(s.nextLine()); 
} 

s.close() 
+0

'next()'는 무엇을 하는가? –

+0

@SotiriosDelimanolis 파일의 다음 행을 읽습니다. –

+0

[생각하지 않습니다] (http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#next ()). –

관련 문제