永发信息网

JAVA记事本中另存文件方法

答案:3  悬赏:0  手机版
解决时间 2021-02-07 15:06
  • 提问者网友:箛茗
  • 2021-02-07 04:52
我根据别人写的读取文件自己写保存文件。发现后面的不会写了,请高手帮我补全,最好把注释也写清楚,我是菜鸟,才学JAVA。
还有哪里不对也请指出,谢谢。(希望别打手术,我看不懂)
private void xiewenjian(File file) throws FileNotFoundException,
IOException
{

FileWriter fr = new FileWriter(file);
BufferedWriter br = new BufferedWriter(fr);
String text = notePad.wenbenqu.getText();
br.write(text);
}

public void actionPerformed(ActionEvent e)
{

JFileChooser choosers = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter("文本文件",
"txt");
choosers.setFileFilter(filter);
int returnVal = choosers.showOpenDialog(notePad);
File file = new File("我的记事本");

try{

xiewenjian(file);
}
catch(FileNotFoundException e1)
{

}
catch(IOException e2)
{

}

}
最佳答案
  • 五星知识达人网友:七十二街
  • 2021-02-07 05:46
//====
//MyFrame.java
//====
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;

import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JTextArea;

public class MyFrame extends JFrame implements ActionListener {

JMenuBar jmb = new JMenuBar();
JMenu jm = new JMenu("文件");
JMenuItem jmi = new JMenuItem("另存为");
JTextArea jta = new JTextArea(20,60);
public MyFrame(){
jm.add(jmi);
jmb.add(jm);
setJMenuBar(jmb);
jmi.addActionListener(this);

this.add(jta);

}


public static void main(String[] args) {
JFrame jf = new MyFrame();
jf.setSize(400,300);
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

//以下是根据你的方法修改得来
private void xiewenjian(File file) throws Exception
{

FileWriter fr = new FileWriter(file);
BufferedWriter br = new BufferedWriter(fr);
String text = jta.getText();
br.write(text);
br.flush();//刷新输出流
br.close();//关闭输出流
fr.close();//关闭输出流
}
public void actionPerformed(ActionEvent arg0) {
JFileChooser choosers = new JFileChooser();
// FileNameExtensionFilter filter = new FileNameExtensionFilter("文本文件","txt");
// choosers.setFileFilter(filter);
//用户选择的文件路径
String filePath = "";
//弹出的选择路径对话框:只能选择文件夹
choosers.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
//用户点击的按钮:确定/取消
int returnVal = choosers.showSaveDialog(this);
//如果点击了"确定",取得用户选择的路径.
if(returnVal == JFileChooser.APPROVE_OPTION)
filePath = choosers.getSelectedFile().getAbsolutePath();
//如果点击了"取消"或关闭,则不保存
else
return;
//构建文件路径
filePath = filePath + File.separator + "我的记事本.txt";

File file = new File(filePath);

try{
xiewenjian(file);
}
catch(Exception e2)
{

}
}
}
全部回答
  • 1楼网友:洒脱疯子
  • 2021-02-07 08:01
你不用这么费事的 打开保存的网页打开方式.txt就可以显示原代码,自己对照一下 检查错误就可以了
  • 2楼网友:北方的南先生
  • 2021-02-07 06:57

你要的关键程序代码:。(源文件超过10000字,无法粘全在这,要的话,加我)

if(e.getactioncommand()=="保存"||e.getactioncommand()=="保存为") { jfilechooser chooser=new jfilechooser(); //创建文件选择对话框 int result=chooser.showsavedialog(frame); if(result==jfilechooser.approve_option) { try { filewriter fout = new filewriter(chooser.getselectedfile()); //向磁盘中写文件 fout.write(jtextpane.gettext()+"\r\n"); fout.close(); } catch (ioexception ioex) { } } }

执行效果:

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯