当前位置: 首页 > news >正文

网站建设贰金手指下拉贰壹小程序开发平台哪家可信赖

网站建设贰金手指下拉贰壹,小程序开发平台哪家可信赖,浙江省建设工程造价信息网,seo推广知识Java知识体系结构梳理如下#xff1a; 基础语法#xff1a;Java的基本语法#xff0c;包括数据类型、运算符、控制语句、数组等。 面向对象编程#xff1a;Java是一种面向对象的编程语言#xff0c;需要掌握类、对象、继承、多态等概念。 异常处理#xff1a;Java提供了…Java知识体系结构梳理如下 基础语法Java的基本语法包括数据类型、运算符、控制语句、数组等。 面向对象编程Java是一种面向对象的编程语言需要掌握类、对象、继承、多态等概念。 异常处理Java提供了异常处理机制需要掌握异常的分类、处理方式等。 集合框架Java提供了丰富的集合框架包括List、Set、Map等需要了解其特点和使用方法。 IO流Java提供了文件读写和网络通信等IO流需要掌握其使用方法。 多线程Java提供了多线程编程机制需要掌握线程的创建、同步、互斥等概念。 数据库编程Java可以通过JDBC连接数据库需要掌握SQL语句的编写和Java操作数据库的方法。 GUI编程Java提供了Swing和AWT两种GUI库需要掌握GUI组件的使用方法和事件处理机制。 网络编程Java提供了Socket和RMI两种网络编程方式需要了解其使用方法和原理。 Web开发Java可以用于Web开发需要掌握Servlet、JSP、Spring、Struts等Web开发框架。 安全编程Java提供了安全编程的机制包括加密、数字签名等需要了解其使用方法和原理。 性能调优Java程序的性能调优是一个重要的话题需要掌握优化技巧和工具的使用方法。 设计模式Java程序设计中常用的设计模式包括单例模式、工厂模式、观察者模式等需要了解其使用方法和原理。 其他Java还包括XML解析、Web服务、分布式计算等方面的知识需要根据实际需求进行学习和掌握。 Java网络编程聊天室可以通过以下步骤实现发送文件功能 在聊天室客户端界面添加一个文件选择按钮允许用户选择要发送的文件。 当用户选择要发送的文件后客户端将文件转换为字节数组并向服务器发送一个包含文件名和字节数组的消息。 服务器接收到消息后将文件保存到指定的目录下并向所有在线客户端广播一个包含文件名和文件路径的消息。 在客户端界面上接收到服务器广播的文件消息后显示文件名和下载链接用户可以点击链接下载文件。 下面是一个简单的Java代码示例 聊天室客户端 import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Base64; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors;import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea;public class ChatClient extends JFrame {private static final long serialVersionUID 1L;private JTextArea chatArea;private JButton fileButton;private JFileChooser fileChooser;private ExecutorService executor;private Socket socket;private OutputStream outputStream;private InputStream inputStream;private String userName;public ChatClient(String userName) {this.userName userName;initComponents();}private void initComponents() {setTitle(Chat Client);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(400, 400);chatArea new JTextArea();JScrollPane scrollPane new JScrollPane(chatArea);add(scrollPane, BorderLayout.CENTER);JPanel panel new JPanel();fileButton new JButton(Send File);fileChooser new JFileChooser();fileButton.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {int returnVal fileChooser.showOpenDialog(ChatClient.this);if (returnVal JFileChooser.APPROVE_OPTION) {File file fileChooser.getSelectedFile();try {sendFile(file);} catch (IOException ex) {ex.printStackTrace();}}}});panel.add(fileButton);add(panel, BorderLayout.SOUTH);setVisible(true);executor Executors.newFixedThreadPool(2);executor.execute(new ReceiveMessageTask());executor.execute(new SendMessageTask());}private void sendFile(File file) throws IOException {byte[] fileBytes Files.readAllBytes(file.toPath());String fileName file.getName();String fileData Base64.getEncoder().encodeToString(fileBytes);String message FILE fileName fileData;outputStream.write(message.getBytes());outputStream.flush();}private void receiveFile(String fileName, String fileData) throws IOException {Path filePath Paths.get(received, fileName);byte[] fileBytes Base64.getDecoder().decode(fileData);Files.write(filePath, fileBytes);String message FILE fileName filePath.toAbsolutePath();broadcastMessage(message);}private void broadcastMessage(String message) throws IOException {outputStream.write(message.getBytes());outputStream.flush();}private class ReceiveMessageTask implements Runnable {public void run() {try {socket new Socket(localhost, 8000);outputStream socket.getOutputStream();inputStream socket.getInputStream();String message JOIN userName;outputStream.write(message.getBytes());outputStream.flush();while (true) {byte[] buffer new byte[1024];int len inputStream.read(buffer);if (len 0) {String msg new String(buffer, 0, len);if (msg.startsWith(FILE )) {String[] parts msg.split( );String fileName parts[1];String fileData parts[2];receiveFile(fileName, fileData);} else {chatArea.append(msg \n);}}}} catch (IOException e) {e.printStackTrace();} finally {try {socket.close();} catch (IOException e) {e.printStackTrace();}}}}private class SendMessageTask implements Runnable {public void run() {try {while (true) {String message System.console().readLine();if (message ! null !message.isEmpty()) {if (message.startsWith(/)) {if (message.startsWith(/quit)) {outputStream.write(QUIT.getBytes());outputStream.flush();executor.shutdownNow();break;}} else {message CHAT message;outputStream.write(message.getBytes());outputStream.flush();}}}} catch (IOException e) {e.printStackTrace();}}}public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {new ChatClient(User1);}});}}聊天室服务器 import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; import java.util.List;public class ChatServer {private ListClientHandler clients new ArrayList();public void start() {try {ServerSocket serverSocket new ServerSocket(8000);System.out.println(Server started on port 8000.);while (true) {Socket socket serverSocket.accept();ClientHandler client new ClientHandler(socket);clients.add(client);System.out.println(New client joined: client.getName());broadcastMessage(client.getName() joined the chat.);client.start();}} catch (IOException e) {e.printStackTrace();}}private void broadcastMessage(String message) {for (ClientHandler client : clients) {client.sendMessage(message);}}private class ClientHandler extends Thread {private Socket socket;private String name;private InputStream inputStream;private OutputStream outputStream;public ClientHandler(Socket socket) {this.socket socket;}public String getName() {return name;}public void run() {try {inputStream socket.getInputStream();outputStream socket.getOutputStream();byte[] buffer new byte[1024];int len inputStream.read(buffer);if (len 0) {String message new String(buffer, 0, len);if (message.startsWith(JOIN )) {name message.substring(5).trim();sendMessage(Welcome to the chat, name !);broadcastMessage(name joined the chat.);}}while (true) {len inputStream.read(buffer);if (len 0) {String message new String(buffer, 0, len);if (message.startsWith(CHAT )) {message name : message.substring(5);broadcastMessage(message);} else if (message.startsWith(FILE )) {String[] parts message.split( );String fileName parts[1];String fileData parts[2];broadcastMessage(FILE fileName socket.getInetAddress().getHostAddress());} else if (message.startsWith(QUIT)) {broadcastMessage(name left the chat.);break;}}}} catch (IOException e) {e.printStackTrace();} finally {try {socket.close();clients.remove(this);} catch (IOException e) {e.printStackTrace();}}}public void sendMessage(String message) throws IOException {outputStream.write(message.getBytes());outputStream.flush();}}public static void main(String[] args) {new ChatServer().start();}}
http://www.hkea.cn/news/14379961/

相关文章:

  • 做年报的网站怎么登不上去了建设法律法规文本查询网站
  • wordpress写入权限北京百度seo公司
  • 网站建设全包方案唐山网址建站
  • 能够给上市公司做网站意味着什么挂号网站建设
  • 垂直门户网站有哪些seo人员的相关薪资
  • 网站开发工程师题微网站的价格
  • 个人建网站运营.网站建设实训主要收获及体会
  • 公司网站建设济南兴田德润厉害吗哈尔滨市建设网站
  • ps做淘宝网站导航栏网站 被 抄袭
  • 做网站的云服务器选什么外国外贸论坛
  • 义乌网站建设九农产品网络营销方式
  • 帮别人做网站进了看守所python 网页制作教程
  • 域名对网站有什么影响吗哪些网站是可以做网络推广的
  • 邯郸企业网站建设公司项目建设全过程
  • 单位如何建设网站拉新app渠道
  • 网站风格定位有哪些个人网站建设研究意义
  • 做房地产网站广告销售鞍山58同城招聘网最新招聘
  • 如果做一个网站旅游电商网站建设方案模板
  • 企业网站关键词应如何优化优质网站
  • 珠海网站空间注册网络规划与设计的目的
  • 江苏建设官方网站珠海婚恋网站建设市场分析
  • 免费推广网站都有哪些wordpress posted on
  • 怎么查看网站的dns公众号文章怎么添加小程序
  • 做网站应选那个主题91大神网站建设
  • 注册网站需要多少钱城乡与建设部网站
  • 哈尔滨建站系统点击查看北京国都建设集团网站
  • 宣城网站建设电话软文发布门户网站
  • 大连模板网站制作公司银行服务外包公司排名
  • 个人网站空间一般多大wordpress模板用什么工具修改
  • 如何查询网站二级页面流量学年论文网站建设