2010-12-19 3 views
-1

: 어떻게 텍스트 파일에서 문자를 가져 와서 2D 배열에 넣을 수 있습니까? 예를 들어

  • 분할 문자열 -에 의해 라인으로

    -8-88-8-8-8--8 
    
    -8-8-8-8-8-8-8 
    
    *-8-8-8-8--8-8 
    
    8--8-8-8-8--8- 
    
  • +1

    예는 파일 또는 원하는 출력 2D 어레이의 입력 라인을 도시 않음으로

    try { List<String> list = new ArrayList<String>(); String thisLine = null; BufferedReader br; br = new BufferedReader(new FileReader("/path/to/file/yourfile.txt")); while ((thisLine = br.readLine()) != null) { list.add(thisLine); } char[][] firstDimension = new char[list.size()][]; for (int i = 0; i < list.size(); i++) { firstDimension[i] = list.get(i).toCharArray(); } //print values for (int i=0;i<firstDimension.length;i++) { for (int j=0;j<firstDimension[i].length;j++) { System.out.println(firstDimension[i][j]); } } } catch (Exception e) { e.printStackTrace(); } 

    것을 시도? –

    +0

    그 간단한 당신은 내 대답 –

    답변

    2
    1. 읽기 텍스트 파일의 라인은 그래서 당신은 문자 배열이 2 차원 문자 배열에 추가해야합니다.
    2

    가장 쉬운 방법은 toCharArray() String 메서드를 사용하는 것입니다. 당신이의 BufferedReader에게

    ArrayList<String> list = new ArrayList<String>(); 
    
        BufferedReader br = new BufferedReader(new FileReader("file")); 
        while ((thisLine = br.readLine()) != null) { 
        list.add(thisLine); 
        } 
    
        // finally convert the arraylist to a char[] 
        char[] firstDimension = new char[list.size()]; 
        for (int i = 0; i < list.length; i++) { 
         firstDimension[i] = list.get(i).toCharArray(); 
        } 
    
    +0

    에서 2 단계를 수행하는 데 필요한 어떻게 스캐너를 사용하는 경우 그것은 될 것이라고 ?? –

    +0

    아마도 bufferedreader가 더 적합 할 것이지만, 그렇지 않으면 스캐너를 사용하여 줄 단위로 읽을 수 있습니다. – Codemwnci

    0

    문자 [] firsDimension을 사용하는 그렇다면

    는 차원이 아니다. 같은 스캐너 클래스

    try { 
         Scanner scanner = new Scanner(new File(
           "/home/sinan/Desktop/yourfile.txt")); 
         scanner.useDelimiter(System.getProperty("line.separator")); 
    
         ArrayList<String> list = new ArrayList<String>(); 
    
         while (scanner.hasNext()) { 
          list.add(scanner.next()); 
         } 
         scanner.close(); 
    
         // finally convert the arraylist to a char[][] 
         char[][] firstDimension = new char[list.size()][]; 
         for (int i = 0; i < list.size(); i++) { 
          firstDimension[i] = list.get(i).toCharArray(); 
         } 
    
         for (int i = 0; i < firstDimension.length; i++) { 
          for (int j = 0; j < firstDimension[i].length; j++) { 
           System.out.println(firstDimension[i][j]); 
          } 
         } 
    
        } catch (FileNotFoundException e) { 
         e.printStackTrace(); 
        } 
    
    +0

    스캐너를 사용하는 경우 어떻게됩니까 ?? –

    +0

    하지만 내가 더블 배열을 인쇄하고 싶다면 내가 나머지는 쓴 것만을 원해 ?? –

    관련 문제