会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132849个问题
JAVA 全系列/第二阶段:JAVA 基础深化和提高/IO 流技术(旧) 2101楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/数据结构 2102楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/手写服务器项目(旧) 2104楼

老师Scanner为什么会报空指针异常


package internet;


import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;

import java.util.Scanner;


public class TwoSever {

      public static void main(String[] args) {

      ServerSocket serverSocket = null;

     

try {

serverSocket = new ServerSocket(8888); 

System.out.println("服务端启动,监听端口8888");

Socket socket = serverSocket.accept();

System.out.println("连接成功!");

Thread t= new Thread(new ServiceRead(socket));

Thread t1= new Thread(new ServiceWrite(socket));

t1.start();

t.start();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally {

}

}

}

//接收消息的

class ServiceRead implements Runnable{

    private Socket socket;

    public ServiceRead(Socket socket) {

    this.socket=socket;

    }

@Override

public void run() {

regular();

}

private void regular() {

BufferedReader bu= null;

try {

bu = new BufferedReader(new InputStreamReader(socket.getInputStream()));

   while(true) {

   String str=bu.readLine();

   System.out.println("客户端说:"+str); 

   }

}catch(Exception e) {

e.printStackTrace();

}finally {

try {

if(bu != null) {

bu.close();

}

if(socket != null) {

socket.close();

}

}catch(Exception e) {

e.printStackTrace();

}

}

}

}



//sever发送消息

class ServiceWrite implements Runnable{

    private Socket socket;

   

    public ServiceWrite(Socket socket) {

    this.socket=socket;

    }

@Override

public void run() {

send();

}

private void send() {

Scanner scanner = null;

PrintWriter bw =null;

try {

bw= new PrintWriter(this.socket.getOutputStream());

while(true) {

String str = scanner.nextLine();

    bw.print(str);

    bw.flush();

}

}catch(Exception e) {

e.printStackTrace();

}finally {

try {

if(scanner != null) {

scanner.close();

}

if(bw != null) {

bw.close();

}

if(socket !=null) {

socket.close();

}

}catch(Exception e) {

e.printStackTrace();

}

}

}

}


image.png

JAVA 全系列/第二阶段:JAVA 基础深化和提高/网络编程(旧) 2105楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/手写服务器项目(旧) 2106楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/反射技术(旧) 2107楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/反射技术(旧) 2108楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/多线程技术(旧) 2112楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/IO 流技术(旧) 2115楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637