2010-05-12 3 views
0

JFileChooser를 사용하는 대화 상자가 있습니다. FileOutputStream으로 파일을 저장할 때 사용자가 원하는 경로에 file.txt으로 저장하려고합니다. 하지만 항상 c:/user/Document에 저장됩니다.JFileChooser에서 새 파일의 저장 경로를 어떻게 설정할 수 있습니까?

DownLoadDialog downloadDialog = new DownLoadDialog(); 
int result = downloadDialog.showSaveDialog(queryPanel); 
if (result == downloadDialog.APPROVE_OPTION) { 

    File file = downloadDialog.getSelectedFile(); 
    //String parth =file.getPath(); 
    //System.out.println(parth); 
    //if(file.exists()) { 
    //int response = JOptionPane.showConfirmDialog (null, 
    // "Overwrite existing file?","Confirm Overwrite", 
    // JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE); 
    //if(response == JOptionPane.OK_OPTION) {} 
    //} else { 
    if (resultGoogleSearch > 0) { 
     { 
      String parth = new File(downloadDialog.getSelectedFile(). 
       getAbsolutePath().concat(".txt")).toString(); 
      System.out.println(parth); 

      for (int i = 0; i < resultGoogleSearch; i++) { 
       String[] temp = googleSearchResult.get(i).split("<br>"); 
       //String resultURL = temp[0]; 
       //File dir = downloadDialog.getCurrentDirectory(); 
       try { 
        FileOutputStream googleReuslt = new FileOutputStream(
         downloadDialog.getSelectedFile().getAbsolutePath() 
         + ".txt"); 
        OutputStreamWriter writer = new 
         OutputStreamWriter(googleReuslt); 
        BufferedWriter buffer = new BufferedWriter(writer); 
        writer.write(temp[0]); 
        writer.close(); 
        buffer.close(); 
       } catch (FileNotFoundException fEx) { 
       } catch (IOException ioEx) { 
       } 
      } 
     } 
     JOptionPane.showMessageDialog(IDRSApplication.idrsJFrame, 
      IDRSResourceBundle.res.getString("successful")); 
    } 

문제는 여기에 있습니다 : : 나는 새 파일에 대한 경로를 설정할 수없는 이유는 다음과 같습니다

코드인가?

FileOutputStream googleReuslt = new FileOutputStream(
    downloadDialog.getSelectedFile().getAbsolutePath() + ".txt"); 
OutputStreamWriter writer = new OutputStreamWriter(googleReuslt); 
BufferedWriter buffer = new BufferedWriter(writer); 
writer.write(temp[0]); 
writer.close(); 
buffer.close(); 
+0

서식있는 코드; 잘못된 경우 되돌려주십시오. – trashgod

+0

수정 해 주셔서 감사합니다. – tiendv

답변

0

제공하신 코드는 예상대로 작동합니다. (적어도 Linux에서는.)

SSCCE을 작성하고 질문을 업데이트하는 것이 좋습니다.

관련 문제