//打开文件的实现
final JMenuItem openMenuItem = new JMenuItem();
openMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) //打开文件窗口创建
{
FileDialog fd=new FileDialog(f,"Open",FileDialog.LOAD);
fd.setVisible(true); //启动
String strFile=fd.getDirectory()+fd.getFile();
if(fd.getFile()!=null) //判断是否选择文件
{
try
{
f.setTitle(fd.getFile()+" - 记事本"); //打开文件后窗口显示文件名称
content.setText(""); //把内容清空
FileInputStream fis = new FileInputStream(strFile);
byte[] bt = new byte[10 * 1024];
int len = fis.read(bt);
content.setText(new String(bt,0,len));
fis.close();
}
catch(Exception ex)
{
ex.toString();
}
}
}
});
openMenuItem.setText("打开(O) Ctrl+O");
openMenuItem.setFont(font);
fileMenu.add(openMenuItem);
//保存文件的实现
final JMenuItem preservationMenuItem = new JMenuItem();
preservationMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) //保存文件窗口创建
{
FileDialog fd=new FileDialog(f,"Open",FileDialog.SAVE);
fd.setVisible(true); //启动
String strFile=fd.getDirectory()+fd.getFile();
if(strFile!=null)
{
try
{
FileOutputStream fos=new FileOutputStream(strFile);
BufferedOutputStream bos=new BufferedOutputStream(fos);
String strContent=content.getText(); //获取文本内容
bos.write(strContent.getBytes());
bos.flush(); //刷新
bos.close();
fos.close();
}
catch(Exception ex)
{
ex.toString();
}
}
}
});
preservationMenuItem.setText("保存(S) Ctrl+S");
preservationMenuItem.setFont(font);
fileMenu.add(preservationMenuItem);小弟在做记事本程序,以上是开打文件和另存为的实现,我想问的是能否实现真正意义上的保存的功能,就是说,假如我打开a.txt文件,我点保存就可以直接保存,不需要像另存为一样又出来一个对话框选择路径。现在问题就是打开文件的路径不知道如何获得,打开文件的时候strFile是文件的路径,不知道保存的时候能否就调用这个,怎么调用这个变量,或者有其他的方法也请高手们说下,小弟感激不尽。应该明白小弟问题的意思吧
final JMenuItem openMenuItem = new JMenuItem();
openMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) //打开文件窗口创建
{
FileDialog fd=new FileDialog(f,"Open",FileDialog.LOAD);
fd.setVisible(true); //启动
String strFile=fd.getDirectory()+fd.getFile();
if(fd.getFile()!=null) //判断是否选择文件
{
try
{
f.setTitle(fd.getFile()+" - 记事本"); //打开文件后窗口显示文件名称
content.setText(""); //把内容清空
FileInputStream fis = new FileInputStream(strFile);
byte[] bt = new byte[10 * 1024];
int len = fis.read(bt);
content.setText(new String(bt,0,len));
fis.close();
}
catch(Exception ex)
{
ex.toString();
}
}
}
});
openMenuItem.setText("打开(O) Ctrl+O");
openMenuItem.setFont(font);
fileMenu.add(openMenuItem);
//保存文件的实现
final JMenuItem preservationMenuItem = new JMenuItem();
preservationMenuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) //保存文件窗口创建
{
FileDialog fd=new FileDialog(f,"Open",FileDialog.SAVE);
fd.setVisible(true); //启动
String strFile=fd.getDirectory()+fd.getFile();
if(strFile!=null)
{
try
{
FileOutputStream fos=new FileOutputStream(strFile);
BufferedOutputStream bos=new BufferedOutputStream(fos);
String strContent=content.getText(); //获取文本内容
bos.write(strContent.getBytes());
bos.flush(); //刷新
bos.close();
fos.close();
}
catch(Exception ex)
{
ex.toString();
}
}
}
});
preservationMenuItem.setText("保存(S) Ctrl+S");
preservationMenuItem.setFont(font);
fileMenu.add(preservationMenuItem);小弟在做记事本程序,以上是开打文件和另存为的实现,我想问的是能否实现真正意义上的保存的功能,就是说,假如我打开a.txt文件,我点保存就可以直接保存,不需要像另存为一样又出来一个对话框选择路径。现在问题就是打开文件的路径不知道如何获得,打开文件的时候strFile是文件的路径,不知道保存的时候能否就调用这个,怎么调用这个变量,或者有其他的方法也请高手们说下,小弟感激不尽。应该明白小弟问题的意思吧
把这句话放在 方法外面定义成对象属性
保存的时候不用 fd.setVisible(true);方法 不就不会弹出对话框了吗
你这个读取文件的流 是怎么拿到的?
能够读这个文件 为什么不能写他?
上面的 strFile 难道不是当前文件的全路径?
你要找的 已经在你手里了
我忘记声明为final了,所以第一次没成功,感谢各位大侠。。