写一个文本文件,实现简单的无脑机器人对话

无脑机器人对话(人机对话)

一、使用的内容:

①:java swing:用于简单的GUI页面
②:io流中的部分知识

二、代码如下:

import java.io.*;
import java.awt.*;
import java.util.Arrays;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.*;
public class SwingDemo01{
	private static void createGUI(){
		// JFrame指一个窗口,构造方法的参数为窗口标题
		MyFrame01 frame = new MyFrame01("无脑机器人");
        //点×关闭窗口
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	
		// 设置窗口的其他参数,如窗口大小
		frame.setSize(400, 300);		
		// 显示窗口
		frame.setVisible(true);
	}
	public static void main(String[] args){
		new SwingDemo01().createGUI();     
	}
}

class MyFrame01 extends JFrame{
	JLabel label = new JLabel("请输入:");
	JTextField textField = new JTextField(16);
	JButton button = new JButton("确定");
	JButton button02 = new JButton("清空");
    JTextArea textArea = new JTextArea(15, 30);

	public MyFrame01(String title){
		super(title);	
		// 内容面板 (ContentPane)
		Container contentPane = getContentPane();
		contentPane.setLayout(new FlowLayout());
				
		// 添加控件
		contentPane.add(label);
		contentPane.add(textField);
		contentPane.add(button);
		contentPane.add(button02);
		contentPane.add(textArea);

		// 按钮点击处理
		button.addActionListener( new ActionListener() {			
			public void actionPerformed(ActionEvent e){
				onButtonOk();
			}
		});

		button02.addActionListener( new ActionListener() {			
			@Override
			public void actionPerformed(ActionEvent e){
				textArea.setText("");
			}
		});
	}
	// 事件处理
	private void onButtonOk(){
		//取得用户的输入,并且添加到文本框中
	   String str = textField.getText();
	   this.textArea.append(this.textField.getText() + "\n");
        // 获取文件路径,对话.txt文件和这个java文件在同一个文件夹下
		File file = new File("对话.txt");
		try {
			// 获取输入的字节
            FileInputStream fis = new FileInputStream(file);     
			//如果不行,改成"UTF-8"试试,InputStreamReader是从字节流到字符流的桥,可以更改的字符集
            InputStreamReader reader = new InputStreamReader(fis,"UTF-8"); 
			// 从字符输入流读取文本,缓冲字符,以提供字符,数组和行的高效读取。
            BufferedReader br = new BufferedReader(reader);  
            String line,f;
			while (((line = br.readLine()) != null)){
				if(line.equals(this.textField.getText())){
					line = br.readLine();
					this.textArea.append( line +"\n");
				}
			}
            br.close();
            reader.close();
        }catch (Exception e) {
            e.printStackTrace();
        }
		// 每次输入自动把textField清空
	   this.textField.setText("");  
	}
}

三:实验准备的TXT文件内容

在这里插入图片描述

四:实验结果效果图

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值