2012-09-23 52 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

不是一个值得反对的问题,但仍然需要粘贴他的代码和错误,如果有的话。 – asgs

回答

1

存储文件的一个变量的完整路径,&使用您希望这个变量:唯一的条件是,你的变量必须是可访问的。

0

通常,您将拥有一个包含数据的实例TextEditor。方法open(),display(),save()将出现在TextEditor中,并使用TextEditor(例如文件名)的状态来执行它们的操作。 Controller类中的UI事件处理程序可以访问作为模型的TextEditor实例,并在实例上调用适当的操作(如打开,显示,保存等)。