2012-08-12 3 views

답변

28

당신은 당신의 JFileChooser 여러 개의 파일을 선택하고 파일의 배열을 반환 할 수 있습니다 대신 하나

JFileChooser chooser = new JFileChooser(); 
chooser.setMultiSelectionEnabled(true); 
chooser.showOpenDialog(frame); 
File[] files = chooser.getSelectedFiles(); 

방법 showOpenDialog(frame) 확인 버튼

편집

을 클릭하면만을 반환의 객체

이렇게 :

JFileChooser chooser = new JFileChooser(); 
chooser.setMultiSelectionEnabled(true); 
chooser.showOpenDialog(frame); 
File[] files = chooser.getSelectedFiles(); 
if(files.length >= 2) { 
    compare(readFileAsList(files[0]), readFileAsList(files[1])); 
} 

변경은 readFileAsList에 : 당신은 사용할 수 있습니다

private static List<String> readFileAsList(File file) throws IOException { 
    final List<String> ret = new ArrayList<String>(); 
    final BufferedReader br = new BufferedReader(new FileReader(file)); 
    try { 
     String strLine; 
     while ((strLine = br.readLine()) != null) { 
      ret.add(strLine); 
     } 
     return ret; 
    } finally { 
     br.close(); 
    } 
} 
+0

는 당신이 파일 츄에서 얻을 것은 파일의 배열입니다 : 내 경우 –

+0

어떻게 할 수 있습니까? – zenx

+0

http://docs.oracle.com/cd/E26232_01/doc.11122/easjavaapi/com/essbase/eas/utils/TextFile.html#readFileAsList_java_io_File__java_lang_String_ Java의 내장 메소드를 사용하는 경우에는 이미 File 객체를 받아들이는 것 아무것도하지 말라. 그러나 현재 코드를 보지 않고서도 당신을 도울 수 없다. –

10

:

JFileChooser chooser = new JFileChooser(); 
chooser.setMultiSelectionEnabled(true); 

// Show the dialog; wait until dialog is closed 
chooser.showOpenDialog(frame); 

// Retrieve the selected files. 
File[] files = chooser.getSelectedFiles(); 

그런 다음 파일 핸들을 사용할 수는 비교 할 돌아왔다.

JFileChooser chooser = new JFileChooser(); 
chooser.setMultiSelectionEnabled(true); 

Component frame = null; 

chooser.showOpenDialog(frame); 
File[] files = chooser.getSelectedFiles(); 
+0

바로 말씀드립니다. –

2

나는 그것이 null로 설정 초기화 된 지역 변수로 프레임을 선언 해결했다. 당신은 compare (readFileAsList (files [0]), readFileAsList (files [1]));를 사용하여 그것들에 접근 할 수있다. 하지만 String 대신 File을 사용하도록 readFileAsList를 변경해야합니다.
관련 문제