2014-04-24 4 views
0

안녕하세요, 내 프로그램의 측면 중 하나는 OpenDialog javax 명령을 통해 .txt 파일을 엽니 다. 내 bufferedreader 내 개발 환경에서 잘 작동하지만 .jar로 프로젝트를 내보낼 때 내 프로그램이 데이터를로드 할 것으로 보이지 않습니다. 나는 openDialog 서브 뷰에 여전히 액세스 할 수 있지만 파일 등을 선택합니다. 파일은로드되지 않으며 jar을 디버깅하는 방법을 모르므로 오류가 bufferedreader인지 또는 대화 상자 자체인지 여부를 확신 할 수 없습니다. 내가 BLueJ를 컴파일하고 실행할 때 프로그램이 잘 작동한다고 말했듯이, .jar을 만들 때 웬일인지 opendialog 후에 멈춘다. 이런 유형의 오류에 익숙한 사람이라면 누구입니까?.Jar가 내 OpenDialog 명령을 완료하지 않습니다

설명을 위해이 방법은 이미 섞인 텍스트 파일에서 카드 덱을 추가합니다. 당신은 경로를 지정해야

String filename = chooser.getSelectedFile().getName(); 
     try 
     { 
      FileReader reader = new FileReader(filename); 

: 카드는 ArrayList를 여기

 card.clear(); 
     JFileChooser chooser = new JFileChooser(); 
     chooser.showOpenDialog(null); 
     String filename = chooser.getSelectedFile().getName(); 
     try 
     { 
      FileReader reader = new FileReader(filename); 
      BufferedReader breader = new BufferedReader(reader); 
      String line; 
      while ((line = breader.readLine()) != null) 
      { 
       card.add(line); 
       displayField.append("\nAdded a " + line); 
      } 
      displayField.append("\nDeck Size: " + card.size()); 
      breader.close(); 
     } catch (FileNotFoundException e) 
     { 
      System.err.println("FileNotFoundException: " + e.getMessage()); 
     } catch(IOException ex) 
     { 
      System.out.println(
      "Error reading file '" 
      + filename + "'"); 
     } 
+0

당신은 코드를 게시 할 수 있습니까? –

+0

OP가 편집되었습니다. 감사합니다 – user3216649

답변

0

문제가 선언된다. 선택한 파일의 파일 이름을 가져 오는 중 경로를 무시합니다. 이 경우 FileReader은 프로세스의 현재 작업 디렉토리를 파일 경로로 사용합니다.

이 시도

은 ...
File selectedFile = chooser.getSelectedFile(); 

... 당신은 ...

FileReader reader = new FileReader(selectedFile); 
+0

예우 100 %. BlueJ의 경로를 추적했기 때문에 파일 이름 문자열에 경로가 포함되지만 분명히 포함되지 않았기 때문에 나는 생각했습니다. 너에게 소품 – user3216649