java实验 输入输出,JAVA 实验报告二:异常处理及输入输出流技术实验

JAVA 实验报告二:异常处理及输入输出流技术实验

更新时间:2017/2/21 22:02:00  浏览量:584  手机版

实验报告

实验项目二 Java异常处理及输入输出流技术实验

文本编辑器

一、实验目的

1. 理解和掌握字节流的类以及它们的使用特点;

2. 理解和区分字节流和字符流;

3. 了解和运用字节流和字符流进行文件复制。

二、实验内容

设计一个简单的文本编辑器,可以实现多文件处理、实现文件的创建、浏览、编辑(允许文件复制和修改)、对已经修改的文件可以进行保存或以另存的文件名称保存。

三、实验原理

Java输入输出流技术、AWT/Swing编程技术、事件处理技术等技术原理。

四、实验环境

主CPU 586以上,内存1G以上,操作系统Windows XP,eclipse。

五、实验步骤

1、创建一个TextEditor 项目

图 1 TextEditor 项目

2.创建一个TextEditor类

图 2 TextEditor类

3.补充代码。并在TextEditor类里输入相对应的代码:

import javax.swing.*;

import java.awt.event.*;

import javax.swing.event.*;

import java.awt.*;

import java.io.*;

import javax.swing.text.Document;

public class TextEditor extends JFrame

{ JDesktopPane desktopPane;

//定义菜单组件

JMenuBar menuBar;

JMenu fileMenu,helpMenu;//定义文件菜单、帮助菜单

JMenuItem

newItem,openItem,saveItem,othersaveItem,closeItem,exitItem;

//定义文件菜单的:新建菜单项、打开菜单项、保存菜单项、另存菜单项、关闭菜单项、//退出菜单项

JMenuItem aboutItem;//定义帮助菜单的:关于菜单项

StringBuffer buffer=new StringBuffer();//定义一个字符串缓冲区; File currentFile;//当前处理的文件;

int status;//记录当前状态0:新建、1:打开、2:保存、3:另存;4:关闭; DisplayFrame currentFrame;//当前打开的窗口

public TextEditor()

{ super("文本编辑器");

Container container=getContentPane();

desktopPane=new JDesktopPane();

container.add(desktopPane);

createMenu();

setJMenuBar(menuBar);

}

public void createMenu()

{ //定义菜单条;

menuBar=new JMenuBar();

//定义文件菜单

fileMenu=new JMenu("文件");

//定义文件菜单的:新建菜单项、打开菜单项、保存菜单项、另存菜单项、关闭菜单 //退出菜单项

//定义新建菜单项

newItem=new JMenuItem("新建");

newItem.addActionListener(new NewFileListener());

//定义打开菜单项

openItem=new JMenuItem("打开");

openItem.addActionListener(new OpenFileListener());

saveItem=new JMenuItem("保存");

saveItem.addActionListener(new SaveFileListener());

othersaveItem=new JMenuItem("另存为");

othersaveItem.addActionListener(new OtherSaveFileListener()); closeItem=new JMenuItem("关闭");

closeItem.addActionListener(new ActionListener()

{ public void actionPerformed(ActionEvent e)

{ if(e.getSource()==closeItem)

{ currentFrame.dispose();

}

}

});

exitItem=new JMenuItem("退出");

exitItem.addActionListener(new ActionListener()

{ public void actionPerformed(ActionEvent e)

{ System.exit(0);

}

});

//添加菜单项到文件菜单中;

fileMenu.add(newItem);

fileMenu.add(openItem);

fileMenu.addSeparator();

fileMenu.add(saveItem);

fileMenu.add(othersaveItem);

fileMenu.addSeparator();

fileMenu.add(closeItem);

fileMenu.add(exitItem);

//定义帮助菜单

helpMenu=new JMenu("帮助");

//定义帮助菜单的:关于菜单项

aboutItem=new JMenuItem("关于");

aboutItem.addActionListener(new ActionListener()

{ public void actionPerformed(ActionEvent e)

{ if(e.getSource()==aboutItem)

{ JOptionPane.showMessageDialog(null,"TextEditor 1.1", "版本",JOptionPane.INFORMATION_MESSAGE);

}

}

});

//添加菜单项到帮助菜单中;

helpMenu.add(aboutItem);

//将文件菜单和帮助菜单加入到菜单条中;

menuBar.add(fileMenu);

menuBar.add(helpMenu);

}//end createMenu method;

public File chooseFile(int chooseMode)

{ //从选择文件对话框中选择文件,chooseMode为选择模式

//1:为文件打开对话框模式,2:为文件保存对话框模式;

JFileChooser filechooser=new JFileChooser();

filechooser.setFileSelectionMode(JFileChooser.FILES_ONLY);int result=0;

switch(chooseMode)

{ case 1:

result =filechooser.showOpenDialog(currentFrame); //代码1; //按照文件打开对话框模式选择文件

break;

case 2:

result=filechooser.showSaveDialog(currentFrame); //代码2; //按照文件保存对话框模式选择文件

break;

}if(result==filechooser.CANCEL_OPTION) return null;

File fileName=filechooser.getSelectedFile(); //代码3;//从对话框中选择文件,赋值给fileName;

return fileName;//返回选定的文件;

}

public void saveFile(File file,int saveMode) throws IOException{ //保存文件fileName,saveMode是保存文件模式:

//1:新建文件的保存;2:将修改的已有文件保存;

File fileName=null;

switch(saveMode)

{

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值