山东信息职业技术学院java实验报告
实验十四 输入输出(二)
一、实验目的
1.理解Java输入输出的实现机制;
2.掌握常用的输入输出类的功能及方法;
3.掌握常用数据类型针对文件的输入输出方式。 二、实验内容
案例 记事本程序设计解析
我们经常使用记事本来记录、保存一些数据、文字,或者打开以前创建的文件进行操作。把我们编辑好的内容存入文件就是输出。而打开原有的文件的内容则是输入。程序主界面如图1所示。当点击打开按钮则弹出打开文件对话框如图2所示。当选择文本文件后,将文本文档的内容显示在文本区中如图3所示。同理,当在文本区中编辑好内容后,点击保存按钮,则弹出文本保存对话框,选择保存位置后可将内容保存到文件中去。
试尝试实现此功能。
图1 记事本界面 图2 打开文件对话框 图3 显示文件内容 源代码如下,补全代码: 1.界面程序:
import java.awt.*; import javax.swing.*; import java.awt.*;
import java.awt.event.*; import java.io.*;
public class Frame1 extends JFrame implements ActionListener {
JPanel contentPane;
JScrollPane jScrollPane1 = new JScrollPane();
BorderLayout borderLayout1 = new BorderLayout(); JPanel jPanel1 = new JPanel();
JTextArea jTextArea1 = new JTextArea(); JButton jButton1 = new JButton(); JButton jButton2 = new JButton();
//窗口的构造方法 public Frame1() {
26
山东信息职业技术学院java实验报告
} }
//jbInit()方法完成界面的初始化设置 private void jbInit() throws Exception { }
//保存、打开两个按钮的事件处理方法 public void actionPerformed(ActionEvent e) { //如果用户点击保存按钮
} }
27
山东信息职业技术学院java实验报告
//如果用户点击打开按钮 if(e.getSource()= =jButton2)
{
jTextArea1.setText(\ JFileChooser fc=new JFileChooser(); try{
}
} catch(Exception ex){ System.out.print(ex.toString());
} } } }
2.主程序:
import java.awt.*; import javax.swing*;
public class Application1 {
public Application1( ) {
Frame1 frame = new Frame1(); // 使窗口居中
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frame.getSize(); if (frameSize.height > screenSize.height)
{ frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width)
{ frameSize.width = screenSize.width; }
frame.setLocation( (screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
frame.setVisible(true); }
//主程序的main()方法
public static void main(String[] args) { new Application1( ); } }
三、试验要求
1、预习试验内容并写出上机报告。 2、实验中出现的问题及实验体会。
28
山东信息职业技术学院java实验报告
实验十五 网络通信
一、实验目的
1.理解网络通信的原理和常用通信技术的概念; 2.掌握基于TCP协议的套接字的网络编程方法 3.掌握网络通信在实际应用开发程序中的应用。 二、实验内容
案例 聊天程序解析
通过建立一个Socket客户端和一个ServerSocket服务端进行实时数据交换。运行时先打开服务器端,然后再打开客户端,单击客户端的“连接服务器”按钮将与服务器建立连接;连接之后,双方在各自图形界面的文本框中填写要发送的信息,然后单击 “Send”按钮,就可以进行通信了。程序运行结果如图1所示。整个程序分成客户端和服务器端两大部分,分别保存成Client.java和Server.java两个文件。
图1 聊天程序运行界面(客户端和服务器端)
1.客户端程序代码: import java.net.*; import java.io.*; import java.awt.*;
import java.awt.event.*; import javax.swing.*;
class Client extends JFrame implements ActionListener
{ Socket sock; //定义套接字对象 JTextArea t1=new JTextArea(); JTextField t2=new JTextField(20); JButton b1=new JButton(\ JButton b2=new JButton(\连接服务器\ DataOutputStream out; //定义数据输出流 DataInputStream in; //定义数据输出流 public Client()
{ JScrollPane jsp=new JScrollPane(t1); this.getContentPane().add(jsp,\ JPanel p1=new JPanel(); p1.add(t2); p1.add(b1); JPanel p2=new JPanel(); p2.add(b2); this.getContentPane().add(p2,\ this.getContentPane().add(p1,\ b1.addActionListener(this); b2.addActionListener(this); setTitle(\客户端\ setSize(340,200); setVisible(true);
29
山东信息职业技术学院java实验报告
addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e)
{
}); }
public void actionPerformed(ActionEvent e) {
} else {
} }
public static void main(String agrs[]) {
30