2014-12-05 3 views
-1

.txt 파일을 내 프로그램에 저장하고로드하려고합니다. 파일을 읽고 쓸 수있는 메소드가 있지만 사용자가 파일의 이름을 선택하고 열기/저장 양식을 사용하여 저장할 위치를 지정할 수있게하려고합니다. 나는 이것을 지금까지 해왔다.열기/저장 대화 상자 표시 java

JButton btnLoad = new JButton("Carregar"); 

btnCarregar.addActionListener(new ActionListener() { 
    private Component modalToComponent; 

    public void actionPerformed(ActionEvent e) { 
     JFileChooser fileChooser = new JFileChooser(); 

     if (fileChooser.showOpenDialog(modalToComponent) == JFileChooser.APPROVE_OPTION) { 
      File file = fileChooser.getSelectedFile(); 
     }   
    } 
}); 

오른쪽입니다. 실제로 양식을 열지 만 이후에는 텍스트를로드하기 위해 어디에서 어떻게 내 방법을 사용하는지 알 수 없습니다. 선택한 파일이므로 file을 사용해야합니다.하지만이 파일을 내 메서드로 보내면 작동하지 않습니다. 모든 예제가 인정 될 것입니다. 손 전에 감사합니다!

+5

호 작동하지 않습니까? 오류는 무엇입니까? – Byron

+1

어떻게 잘못 사용했는지, 모든 오류 코드를 작성했는지 알 수 없으면 조언을 제공하는 방법을 알기가 어렵습니다. –

+0

복사하여 붙여 넣을 수있는 [MCVE] (http://stackoverflow.com/help/mcve)를 제공해주십시오. 동일한 오류가 표시됩니다. 당신은 이렇게 말합니다. 정확히 작동하지 않는 것은 무엇입니까? 부품을 저장 하시겠습니까?, 열린 부분입니까? 어쨌든, 그 부호를 너무 제공하십시오. – Frakcool

답변

0

메서드의 if 부분에서 열 파일을 선택한 지점에서 메서드를 호출 할 수 있습니다. 당신의 독서 방법을 openFile라고하고 File 매개 변수를 받아들이는 경우 따라서, 당신은 'openFile (파일)을 호출 할 수 있습니다`에서 두 번째로 문 같은 블록 경우 :

if (fileChooser.showOpenDialog(modalToComponent) == JFileChooser.APPROVE_OPTION) { 
    File file = fileChooser.getSelectedFile(); 
    openFile(file); 
} 

openFile 방법의 간단한 예는을 열어 처리하는 파일 (이 경우 내용 만 인쇄하면)은 다음과 같이 보일 수 있습니다.

private void openFile(final File inputFile) { 
    try (final BufferedReader reader = new BufferedReader(new FileReader(inputFile))) { 
     String line; 
     while ((line = reader.readLine()) != null) { 
      System.out.println("line: " + line); 
      // todo: handle line. 
     } 
    } catch (final IOException e) { 
     e.printStackTrace(); 
     // todo: handle exception. 
    } 
} 
+0

감사합니다. 선택에서 파일을 사용하지 않아서 충돌 한 이유가 있습니다. 가장 간단한 것이 가장 어려운 경우가 있습니다. – Rogercb