java中打开文件怎么实现_用JAVA中写记事本,如何实现保存和打开文件?

JTextArea 里面有些方法,能实现.

txtEdit.copy();复制

txtEdit.paste();粘贴

txtEdit.cut();剪切

部分代码:

--------------------------------

JTextArea txtEdit = new JTextArea();

JMenuBar mb = new JMenuBar();

JMenu menuEdit = new JMenu("编辑(E)");

JMenuItem menuCut = new JMenuItem("剪切(T)");

JMenuItem menuCopy = new JMenuItem("复制(C)");

JMenuItem menuPaste = new JMenuItem("粘贴(P)");

JMenuItem menuDel = new JMenuItem("删除(L)");

构造方法中:

menuEdit.add(menuUndo);

menuEdit.addSeparator();

menuEdit.add(menuCut);

menuEdit.add(menuCopy);

menuEdit.add(menuPaste);

menuEdit.add(menuDel);

//加入快捷键

menuCut.setAccelerator(KeyStroke.getKeyStroke('X',InputEvent.CTRL_MASK));

menuCopy.setAccelerator(KeyStroke.getKeyStroke('C',InputEvent.CTRL_MASK));

menuPaste.setAccelerator(KeyStroke.getKeyStroke('V',InputEvent.CTRL_MASK));

//加入事件监听

menuCut.addActionListener(this);

menuCopy.addActionListener(this);

menuPaste.addActionListener(this);

方法:

public void actionPerformed(ActionEvent e)

{

JFileChooser fc = new JFileChooser(".");

if(e.getSource().equals(menuCopy))//复制

{

txtEdit.copy();

}

else if(e.getSource().equals(menuPaste))//粘贴

{

txtEdit.paste();

}

else if(e.getSource().equals(menuCut))//剪切

{

txtEdit.cut();

}

----------------

//保存和读取,I/O流操作.我只写了方法

public void readFile()//用于读取文件内容

{

try

{

FileReader fr = new FileReader(file);

BufferedReader br = new BufferedReader(fr);

String str;

while((str = br.readLine()) != null)

{

txtEdit.setText(txtEdit.getText()+str+"\n");

}

br.close();

fr.close();

}

catch(Exception ee)

{

ee.printStackTrace();

}

}

public void saveFile()//保存文件

{

try

{

FileWriter fw = new FileWriter(file);

fw.write(txtEdit.getText());

fw.close();

}

catch(Exception e)

{

e.printStackTrace();

}

}

----------------

剩下的你自己实现吧...

------------------------------

在public void actionPerformed(ActionEvent e)中

if(e.getSource().equals(menuOpen))//打开

{

int result = fc.showOpenDialog(this);//显示打开对话框

if(result == 0)//点击打开

{

file = fc.getSelectedFile();

this.setTitle(file.getName()+" - 记事本");

readFile();

}

}

if(e.getSource().equals(menuSave) || e.getSource().equals(menuSaveAs))//保存

{

int result = fc.showSaveDialog(this);//显示保存对话框

if(result == 0)//点击了保存

{

file = fc.getSelectedFile();

this.setTitle(file.getName() + " - 记事本");

saveFile();

}

}

-----------------

代码经过我测试,没有什么异常...

你自己再仔细看看吧...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值