//这是一个具有打开文件功能的完整且正确程序,哪位高手帮我完成一下save功能,就是把text  里面的文字能保存到本地硬盘里。
import java.awt.*;
import java.applet.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
//import javax.swing.event.*;
 public class Mypj3 extends JApplet{
   Container cp;
   ActionListener a1;
   JButton btn;
   FileDialog d;
   JFrame f;
   JMenuBar mb;  
   JMenu m1;
   JMenu m2;
   JMenu m3;
   JMenuItem mi0;
   JMenuItem mi1;
   JMenuItem mi2;
   JMenuItem mi3;
   String fname;
   JTextArea jt;
   
 
public void init()
{   f=new JFrame();
    cp=getContentPane();    
    cp.setLayout(new BorderLayout());
  jt=new JTextArea("请在这里输入文本");
  JScrollPane js=new JScrollPane(jt);
    mb = new JMenuBar(); 
    m1 = new JMenu("File"); 
    m2 = new JMenu("Edit"); 
    m3 = new JMenu("Help"); 
    mi0 = new JMenuItem("Open"); 
    mi1 = new JMenuItem("Save"); 
    mi2= new JMenuItem("Quit"); 
    m1.add(mi0);
    m1.add(mi1); 
    m1.add(mi2); 
    m1.addSeparator(); 
    m1.add(mi3); 
  
    mb.add(m1); 
    mb.add(m2); 
    mb.add(m3); 
    add(js);
   
    setJMenuBar(mb);
    
  }
  public void start(){
  mi0.addActionListener(  
  a1=new ActionListener(){
 public void actionPerformed(ActionEvent e){

 if (e.getSource() == mi0) {
 
 d= new FileDialog(f,"请打开txt文件");  
 d.setVisible(true);
     fname = d.getDirectory()+d.getFile(); 
   
    try{
FileInputStream myfile =new FileInputStream(fname);
byte [] buf= new byte[10*1024];
int len=myfile.read(buf);

  String text=new String(buf,0,len);
jt.setText(text);
myfile.close();
  }
   catch(Exception ex){
jt.setText("文件打开出错");
    }
   

  }//end if
 
 
 
 }//end actionperforemed 
 
  }
  );//end innner class
 
 }//end init
}

解决方案 »

  1.   

    我又增加了50分,这个程序,我不是偷懒才放到这里的,主要是一个很大的问题不明白:
    我用在frame里面的方法写save完全没有问题,可是一到applet 中就出现
    access denied (java.io.FilePermission 我的文件.txt write)
    我知道这是因为applet限制了i/0操作,我的问题是:
    1:既然如此,为什么我还可以打开一个文件,并把他的内容显示在我的text里面呢?
    2:有什么办法,比如通过修改这个filepermission使得我的applet也可以把text的文件保存到某个文件中。
    3,在上面程序上请完成此功能。
    回答前两个问题者每个给30分,后面一个问题40分
      

  2.   

    不允许写文件是出于安全性的考虑,网页的只能寸cookie,真要写文件就用application
      

  3.   

    applet不可以调用客户端的可执行程序
    主要是防止某些别有用心的人在applet里写恶意代码