2012-09-23 2 views
-2

기본 텍스트 편집기를 만들고 있는데, 사용자가 '열기'를 클릭하면 사용자가 파일을 선택하라는 메시지가 나타나고 파일을 잘 열면 두 가지 방법이 있습니다. 방금 사용자가 저장을 클릭 할 때 트리거되는 메서드의 변수에있는 동일한 파일 경로에 액세스하려고합니다. 내 방법은 공개적인데, Iv'e는 클래스를 통해 액세스했습니다. 도와주세요! 코드 :방법에 따른 Java 변수

public void open(){ 
    try{ 
     //Open file 
    JFileChooser fc = new JFileChooser(); 
    fc.showOpenDialog(null); 
    File file = fc.getSelectedFile(); 
    String haha = file.getPath(); 
    BufferedReader br = new BufferedReader(new FileReader(file.getPath())); 
    String line; 
    while((line = br.readLine()) != null){ 
     text.append(line + "\n"); 
    } 

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

    } 
} 

public void save(){ 
    try { 
     BufferedWriter bw = new BufferedWriter(new FileWriter(file.filePath)); 

     bw.write(text.getText()); 

     bw.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 
+1

여기에 코드를 게시 할 수 있습니까? – Vinay

+0

파일 경로가 포함 된 변수를 메서드의 범위 밖에 정의합니까? 나는. 클래스에 정의 된 변수입니까? – Luhar

+0

부정적인 표결을 허용하는 질문은 아니지만 OP가 코드와 오류를 붙여야합니다. – asgs

답변

1

스토어 하나 개의 변수에 파일의 전체 경로, 당신이 원하는 변수 & 사용 : 유일한 조건은 변수가 액세스 할 수 있어야한다는 것입니다.

0

일반적으로 데이터를 보유하는 TextEditor의 인스턴스가 있습니다. open(), display(), save()의 메소드는 TextEditor에 존재하고 TextEditor의 상태 (예 : 파일 이름)를 사용하여 조작을 수행합니다. Controller 클래스에있는 UI 이벤트 핸들러는 모델 인 TextEditor 인스턴스에 대한 액세스 권한을 가지며 인스턴스에 대한 적절한 작업 (예 : 열기, 표시, 저장 등)을 호출합니다.