- 22
- 0
- 约7.57千字
- 约 9页
- 2019-07-29 发布于江西
- 举报
Java 程序设计实验报告
一、实验内容
编写一个记事本程序完成新建,打卡,保存功能,主要目的是熟悉输入输出流操作,特别是文件的输入输出流操作,其次是熟悉界面的设计编程操作。
二、实验过程
1.实验设计:
实验流程图如图所示
这次实验主要用到了字符流的操作;主要是先把界面设计好,再编写各部分代码,主要功能编写过程如下:
新建:新建的代码就是将文本域设为可写
打开:打开操作主要是利用定义的文件字符流对象进行读取操作,自定义了一个方法read()进行读取操作
保存:保存操作主要是将文本域的类容存到一个字符串中,并将字符串转换为字符数组利用文件字符输出流操作进行写入文件并保存。
退出:退出操作主要是看是否有文件未保存,有则提示是否保存,并退出,无则直接退出
三、实验结果
四、讨论与分析
这次实验过程我感觉到有点难度,主要是开始时没弄清楚字节流和字符流,造成了读取中和保存中的乱码,最终解决了,还有一个问题就是用写的notebook保存的文件在windows记事本中打开显示不正常,而在notebook中显示正常,我不清楚这原因,总的来说,让我学会了流的基本操作,收获还可以。
五、附录:关键代码
(给出适当注释,可读性高)
package notebook;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
public class Notebook extends javax.swing.JFrame {
/** Creates new form Notebook */
// 自定义
File curFile = null;
FileReader filein;// 字符输入流对象filein
FileWriter fileout;// 字符输出流对象fileout
Boolean Open = false;// 文件打开标志
public Notebook() {
initComponents();
}
//GEN-BEGIN:initComponents
// editor-fold defaultstate=collapsed desc=Generated Code
private void initComponents() {
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenu2 = new javax.swing.JMenu();
jScrollPane1 = new javax.swing.JScrollPane();
EditArea = new javax.swing.JTextArea();
menuBar = new javax.swing.JMenuBar();
fileMenu = new javax.swing.JMenu();
newMenuItem1 = new javax.swing.JMenuItem();
openMenuItem = new javax.swing.JMenuItem();
saveMenuItem = new javax.swing.JMenuItem();
exitMenuItem = new javax.swing.JMenuItem();
jMenu1.setText(File);
jMenuBar1.add(jMenu1);
jMenu2.setText(Edit);
jMenuBar1.add(jMenu2);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
EditArea.setColumns(20);
EditArea.setEd
原创力文档

文档评论(0)