2014-04-06 2 views
0

이 문제를 해결하는데 도움을 주셔서 감사합니다. 내 프로젝트에 할 일이 있습니다. 여기에 관련된 단계가 있습니다 :jfilechooser, 텍스트 파일에 파일의 이름을 쓰는 방법

  1. jfilechooser를 사용하여 디스크에서 이미지 파일을 선택하고 양식의 레이블에 이미지를 첨부하십시오. (곧장 앞으로)
  2. 그 형식의 텍스트 필드 중 하나에서 isbn 문자열을 사용하여 파일 이름으로 텍스트 파일을 만들어야합니다. 이 텍스트 문서 내부에
  3. (책의 인스턴스를 생성 메신저가, 제목, au_name 등 ISBN 한), 나는 경로와 그 이미지의 파일 이름을 작성해야합니다. 예 : h : \ workplace \ isbn1234.txt

한 가지 방법으로 발생합니다.

다음 단계는 모든 관련된 다른 형태 (ISBN 문자열 검색) txt 파일을 만들어 사용 방법 및 부하 이미지를 생성 할 것이다.

:

필자가 지금까지 수행 여기에 무엇을

,하지만 엉망 ... (아직 없다 IM) 여기

private void addPhotoButtonActionPerformed(java.awt.event.ActionEvent evt) 

{ 
     final JFileChooser fc = new JFileChooser(); 
     fc.setCurrentDirectory(new File("H:\\java")); 
      if (evt.getSource() == addPhotoButton) {    
       int returnVal = fc.showOpenDialog(this); 
       if (returnVal== JFileChooser.APPROVE_OPTION) {     
       java.io.File file = fc.getSelectedFile(); 
       String s = file.toString(); 
       String file_name = file.getName(); 
       photoLabel.setIcon(new ImageIcon(file_name)); 
       try(Scanner input = new Scanner(new FileInputStream (file_name)); 
         PrintWriter outputStream = new PrintWriter(new FileOutputStream("files/" + isbnTxtField.getText() + ".txt"))){ 
       String line = ""; 
       while (input.hasNext()) { 
        line = input.nextLine(); 
        outputStream.println(line); 
        input.next(); 
        } 
        }catch (FileNotFoundException e){ 
         System.out.println("problem opening files."); 
         System.exit(0);}}}} 

1-3 단계를 해결하기 위해 내가 생각 해낸 코드입니다
private void addPhotoButtonActionPerformed(java.awt.event.ActionEvent evt) 
{ 
     final JFileChooser fc = new JFileChooser(); 
     fc.setCurrentDirectory(new File("H:\\java")); 
      if (evt.getSource() == addPhotoButton) {    
       int returnVal = fc.showOpenDialog(this); 

       if (returnVal== JFileChooser.APPROVE_OPTION) {     
       java.io.File file = fc.getSelectedFile(); 
       try{ 
        // Load image to label 
        img = ImageIO.read(file); 
        ImageIcon icon=new ImageIcon(img); 
        photoLabel.setIcon(icon); 
        Dimension imageSize = new Dimension(icon.getIconWidth(),icon.getIconHeight()); 
        photoLabel.setPreferredSize(imageSize); 
        photoLabel.revalidate(); 
        photoLabel.repaint(); 
        // create textfile with textfield name 
        String file_in =fc.getSelectedFile().getParent(); 
         System.out.println(file_in); 
         String fileName =(file_in+ "\\" +isbnTxtField.getText() + ".txt"); 
         System.out.println(fileName); 
         File textFile = new File(fileName); 

         if (!textFile.exists()) { 
          textFile.createNewFile(); 
          } 

         FileWriter fw = new FileWriter(textFile.getAbsoluteFile()); 
         BufferedWriter bw = new BufferedWriter(fw); 
         bw.write(fileName); 
         bw.close(); 

        }catch (IOException e){ 
         System.out.println("problem opening files."); 
         System.exit(0);}}}} 
+0

이 단계까지 수행 한 작업과 정확한 질문은 무엇입니까? 나는 귀하의 게시물에 어떤 연구 또는 작업을 볼 수 없습니다. 어떤 단계를 밟았는지와 같은 세부 사항을 설명해야합니다. –

+0

여기에 맞추려고하는 순간 – user3502301

+0

질문을 편집 할 수 있습니다. –

답변

0

는 텍스트 파일을 작성하는 경우, 당신은과 같이, FileWriterBufferedWriter의 조합을 사용할 수 있습니다

package com.mkyong; 

import java.io.BufferedWriter; 
import java.io.File; 
import java.io.FileWriter; 
import java.io.IOException; 

public class WriteToFileExample { 
    public static void main(String[] args) { 
     try { 

      String content = "This is the content to write into file"; 

      File file = new File("https://stackoverflow.com/users/mkyong/filename.txt"); 

      // if file doesnt exists, then create it 
      if (!file.exists()) { 
       file.createNewFile(); 
      } 

      FileWriter fw = new FileWriter(file.getAbsoluteFile()); 
      BufferedWriter bw = new BufferedWriter(fw); 
      bw.write(content); 
      bw.close(); 

      System.out.println("Done"); 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

here에서 가져옵니다.

foo이라는 JTextField 사용자는 foo.getText()을 사용하여 텍스트를 가져올 수 있습니다.

당신은 fc.getSelectedFile().getAbsolutePath()를 사용하여 절대 경로를 얻을 수 있습니다, 당신은 fc.getSelectedFile().getName()

나는이 도움이 되었으면 좋겠 사용하여 파일의 이름을 얻을 수 있습니다.

+0

대단히 감사합니다! 지금 시작하는 Im! 고맙다! – user3502301

+0

당신은 오신 것을 환영합니다. 이 답변이 충분히 도움이되지 않는다고 생각되면 질문에 답변하고 의견을 추가하면 답변을 수락하십시오. –

+0

다른 질문이 있습니다. 문자열에서 파일에 대한 경로를 얻으려면 어떻게해야합니까? 나는 꽤 멀리 갔다. 코드는 2 단계와 3 단계에서 필요한 모든 것을 거의 다 수행한다. 그것은 내가 원하는 방식으로 파일 이름을 제공하지 않습니다. 절대 경로는 다음과 같은 이름을 가진 경로를 제공합니다. H : \ Java \ workspace \ LMS \ files \ book.jpg – user3502301

관련 문제