记事本功能介绍
1. 新建:记事本清空。
2. 打开:可打开笔记本上任意文本文件。
3. 保存:将文件保存至当前文件夹。
4. 另存为:将文件保存至任意位置。
5. 退出:退出时确认退出前是否保存内容。
【注:“保存”和“另存为”时,应指明文件的后缀,如:XXX.txt】
记事本图例
打开笔记本上任意文本文件
该操作需要用到 FileDialog 类 中的 FileDialog.LOAD);
FileDialog fd = new FileDialog(this, "打开", FileDialog.LOAD);
fd.setVisible(true);
值得注意的是,在获取文件路径时,相关操作为:
String strFile = fd.getDirectory() + fd.getFile();
若没有 fd.getDirectory() 则只能打开当前文件夹。fd.getDirectory() 相当于取得文件的绝对路径前缀。
取得路径后,就可以将文件打开并写到文本框中。
具体操作见博客:
http://blog.csdn.net/oyuntaolianwu/article/details/9429953
代码举例
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
FileDialog fd = new FileDialog(this, "打开", FileDialog.LOAD);
fd.setVisible(true);
String strFile = fd.getDirectory() + fd.getFile();
if (strFile != null) {
try {
FileInputStream fis = new FileInputStream(strFile);
byte[] buf = new byte[10 * 1024];
int len = fis.read(buf);
jTextArea1.append(new String(buf, 0, len));
fis.close();
} catch (Exception e) {
System.out.println("打开失败");
}
}
}
打开图例:
将文件保存至任意位置
实际上,与上述操作相仿。只不过,是一个读一个写。
取得文件路径和内容后,相关操作就容易很多了。
代码举例:
private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
FileDialog fd = new FileDialog(this, "另存为", FileDialog.SAVE);
fd.setVisible(true);
String string1 = jTextArea1.getText();
String stringfile = fd.getDirectory()+fd.getFile();
BufferedWriter bWriter = null;
try {
bWriter = new BufferedWriter(new FileWriter(stringfile));
bWriter.write(string1);
bWriter.close();
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("保存失败");
}
}
另存为图例
记事本 NotePad 代码
/*
* Test_Notepad.java
*
* Created on __DATE__, __TIME__
*/
//package com.test;
import java.awt.*;
import java.io.*;
import javax.swing.JOptionPane;
/**
*
* @author __USER__
*/
public class Test_Notepad extends javax.swing.JFrame {
/** Creates new form Test_Notepad */
public Test_Notepad(String name) {
super(name);
initComponents();
setLocation(450, 200);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
//GEN-BEGIN:initComponents
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
jMenuItem2 = new javax.swing.JMenuItem();
jMenuItem3 = new javax.swing.JMenuItem();
jMenuItem4 = new javax.swing.JMenuItem();
jSeparator1 = new javax.swing.JSeparator();
jSeparator2 = new javax.swing.JSeparator();
jMenuItem6 = new javax.swing.JMenuItem();
jMenu2 = new javax.swing.JMenu();
jMenuItem7 = new javax.swing.JMenuItem();
jMenuItem8 = new javax.swing.JMenuItem();
jMenuItem9 = new javax.swing.JMenuItem();
jMenuItem10 = new javax.swing.JMenuItem();
jMenuItem11 = new javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jTextArea1.setColumns(20);
jTextArea1.setRows(5);
jScrollPane1.setViewportView(jTextArea1);
jMenu1.setText("\u6587\u4ef6");
jMenu1.setMinimumSize(new java.awt.Dimension(35, 19));
jMenuItem1.setText("\u65b0\u5efa");
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem1ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem1);
jMenuItem2.setText("\u6253\u5f00");
jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem2ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem2);
jMenuItem3.setText("\u4fdd\u5b58");
jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem3ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem3);
jMenuItem4.setText("\u53e6\u5b58\u4e3a");
jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem4ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem4);
jMenu1.add(jSeparator1);
jMenu1.add(jSeparator2);
jMenuItem6.setText("\u9000\u51fa");
jMenuItem6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem6ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem6);
jMenuBar1.add(jMenu1);
jMenu2.setText("\u7f16\u8f91");
jMenuItem7.setText("\u64a4\u9500");
jMenu2.add(jMenuItem7);
jMenuItem8.setText("\u526a\u5207");
jMenu2.add(jMenuItem8);
jMenuItem9.setText("\u590d\u5236");
jMenu2.add(jMenuItem9);
jMenuItem10.setText("\u7c98\u8d34");
jMenu2.add(jMenuItem10);
jMenuItem11.setText("\u5220\u9664");
jMenu2.add(jMenuItem11);
jMenuBar1.add(jMenu2);
setJMenuBar(jMenuBar1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING).addComponent(
jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 400,
Short.MAX_VALUE));
layout.setVerticalGroup(layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING).addComponent(
jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 279,
Short.MAX_VALUE));
pack();
}// </editor-fold>
//GEN-END:initComponents
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jTextArea1.setText(null);
}
private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
FileDialog fd = new FileDialog(this, "另存为", FileDialog.SAVE);
fd.setVisible(true);
String string1 = jTextArea1.getText();
String stringfile = fd.getDirectory()+fd.getFile();
BufferedWriter bWriter = null;
try {
bWriter = new BufferedWriter(new FileWriter(stringfile));
bWriter.write(string1);
bWriter.close();
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("保存失败");
}
}
private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String FileName = JOptionPane.showInputDialog("请输入保存的文件名:");
String string1 = jTextArea1.getText();
if (FileName != null) {
BufferedWriter bWriter = null;
try {
bWriter = new BufferedWriter(new FileWriter(new File(FileName)));
bWriter.write(string1);
bWriter.close();
} catch (Exception e) {
System.out.println("保存失败");
}
}
}
private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int result = JOptionPane.showConfirmDialog(null, "退出前是否保存?");
if (result == JOptionPane.YES_OPTION) {
String FileName = JOptionPane.showInputDialog("请输入保存的文件名:");
String string1 = jTextArea1.getText();
if (FileName != null) {
BufferedWriter bWriter = null;
try {
bWriter = new BufferedWriter(new FileWriter(new File(
FileName)));
bWriter.write(string1);
bWriter.close();
} catch (Exception e) {
System.out.println("保存失败");
}
}
System.exit(0);
} else if (result == JOptionPane.NO_OPTION) {
System.exit(0);
}
}
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
FileDialog fd = new FileDialog(this, "打开", FileDialog.LOAD);
fd.setVisible(true);
String strFile = fd.getDirectory() + fd.getFile();
if (strFile != null) {
try {
FileInputStream fis = new FileInputStream(strFile);
byte[] buf = new byte[10 * 1024];
int len = fis.read(buf);
jTextArea1.append(new String(buf, 0, len));
fis.close();
} catch (Exception e) {
System.out.println("打开失败");
}
}
}
public void SaveNotepad() {
String FileName = JOptionPane.showInputDialog("请输入保存的文件名:");
String string1 = jTextArea1.getText();
if (FileName != null) {
BufferedWriter bWriter = null;
try {
bWriter = new BufferedWriter(new FileWriter(new File(FileName)));
bWriter.write(string1);
bWriter.close();
// Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
Test_Notepad notepad = new Test_Notepad("决Jue的记事本");
notepad.setVisible(true);
}
});
}
//GEN-BEGIN:variables
// Variables declaration - do not modify
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JMenuItem jMenuItem10;
private javax.swing.JMenuItem jMenuItem11;
private javax.swing.JMenuItem jMenuItem2;
private javax.swing.JMenuItem jMenuItem3;
private javax.swing.JMenuItem jMenuItem4;
private javax.swing.JMenuItem jMenuItem6;
private javax.swing.JMenuItem jMenuItem7;
private javax.swing.JMenuItem jMenuItem8;
private javax.swing.JMenuItem jMenuItem9;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JSeparator jSeparator2;
private javax.swing.JTextArea jTextArea1;
// End of variables declaration//GEN-END:variables
}