Java小项目之:聊天系统,在家无聊必备!

本文介绍了一个使用Java实现的简单聊天室项目,包括注册、登录和聊天功能,适合初学者练习。通过客户端读写线程处理与服务器的交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java小项目之:聊天系统
今天给大家带来的java练手小项目是一个简单的聊天室,界面简单,操作不难。
分为注册系统,登录系统和聊天系统三部分,很适合java小白练手。
界面展示:

在这里插入图片描述
代码展示:
package chatRoom2;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;

public class Client {

/**
 * @param args
 */
public static void main(String[] args) {
	// TODO Auto-generated method stub
	Socket socket = null;
	try {
		socket = new Socket("127.0.0.1", 8000);
		new ClientWriterThread(socket).start();
		new ClientReaderThread(socket).start();
	} catch (Exception e) {
		e.printStackTrace();
	}
}

}

class ClientWriterThread extends Thread {
private Socket socket;
private BufferedReader in;
private PrintWriter out;

public ClientWriterThread(Socket socket) {
	super();
	this.socket = socket;
	try {
		in = new BufferedReader(new InputStreamReader(System.in));
		out = new PrintWriter(new OutputStreamWriter(
				socket.getOutputStream()), true);
	} catch (Exception e) {
		e.printStackTrace();
	}
}

@Override
public void run() {
	while (true) {
		try {
			String str = in.readLine();
			if (str == null || "exit".equals(str)) {
				break;
			}
			out.println(str);
		} catch (Exception e) {
			e.printStackTrace();
			break;
		}
	}
}

@Override
public String toString() {
	return "ClientWriterThread [socket=" + socket + "]";
}

}

class ClientReaderThread extends Thread {
private Socket socket;
private BufferedReader in;

public ClientReaderThread(Socket socket) {
	super();
	this.socket = socket;
	try {
		in = new BufferedReader(new InputStreamReader(
				socket.getInputStream()));
	} catch (Exception e) {
		e.printStackTrace();
	}
}

@Override
public void run() {
	while (true) {
		try {
			String str = in.readLine();
			if ("exit".equals(str)) {
				break;
			}
			System.out.println("服务器说:" + str);
		} catch (Exception e) {
			e.printStackTrace();
			break;
		}
	}
}

@Override
public String toString() {
	return "ClientReaderThread [socket=" + socket + "]";
}

}
喜欢这样文章的可以关注我,我会持续更新,你们的关注是我更新的动力!需要更多java学习资料的也可以私信我!
祝关注我的人都:身体健康,财源广进,福如东海,寿比南山,早生贵子,从不掉发!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值