我的eclipse不能使用CloseUtil 提示CloseUtil cannot be resolved
服务端启动正常,客户端启动就报错
package com.yc.server; import java.io.DataOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) throws IOException, ClassNotFoundException { System.out.println("--------服务器启动---------"); //创建ServerSocket对象 ServerSocket sever=new ServerSocket(10000); Socket socket=sever.accept(); //获取输入流,包装成对象流 ObjectInputStream ois=new ObjectInputStream(socket.getInputStream()); User user=(User)ois.readObject(); String str=""; //对用户和密码验证 if("name1".equals(user.getUserName())&&"123456".equals(user.getPassWord())){ str="登陆成功"; }else{ str="账号密码不正确"; } //获取输出流,包装成数据流 DataOutputStream dos=new DataOutputStream(socket.getOutputStream()); dos.writeUTF(str); //关闭流 if(dos!=null){ dos.close(); } if(ois!=null){ ois.close(); } if(socket!=null){ socket.close(); } } }
package com.yc.test; import java.io.DataInputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.Socket; public class Client { public static void main(String[] args) throws IOException { //创建Socket对象,连接服务器 Socket client=new Socket("localhost",10000); //获取输出流(对象流) ObjectOutputStream oos=new ObjectOutputStream(client.getOutputStream()); //创建User对象 User u=new User("name1","123456"); //User对象发送到服务器 oos.writeObject(u); //获取输入流(数据流) DataInputStream dis=new DataInputStream(client.getInputStream()); System.out.println(dis.readUTF()); if(dis!=null){ dis.close(); } if(oos!=null){ oos.close(); } if(client!=null){ client.close(); } } }
老师能把jdk1.8发给我一下吗,一直闪退没办法了
Sockt 和InputStream 源码里有构造方法。这里为何不用new关键字呢初始化对象呢,而是使用
Socket client =server.accept();和InputStream is=client.getInputStream();
import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class test { public static void main(String[] args) throws IOException { //创建serverSocket对象 ServerSocket server=new ServerSocket(9999); //监听是否有客户端请求连接 Socket client =server.accept(); //获取输入流 InputStream is=client.getInputStream(); System.out.println((char)is.read()); //获取输出流 OutputStream os=client.getOutputStream(); os.write("收到了".getBytes()); //关闭流,关闭Socket if(os!=null){ os.close(); } if(is!=null){ is.close(); } if(client!=null){ client.close(); } } }
老师 这个数组的动态扩容 要是删除了数组里面的元素 容量会不会同步的自减?比如原来移位一次加10 若是元素删了是不是也同步减10呢?
老师,我是用idea来创建的,运行成功了,但是还是有几个问题;如图:
问题1:
在book.xml中 的地址为 xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
但在book.xsd中,第10行中,这个地址多了-instance,这个是为什么?
问题2:
视频是用eclipse运行的,老师讲的视频直接用快捷键进行了。那么idea运行,图片中的第10,11行的 快捷键分别是什么?
问题3:{book.xsd} 为什么是红色(是报错么?),但是我的程序可以运行成功。
import com.Jin.FuWuQi.KeHuDuan.IOClose; import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class Server2 { public static void main(String[] args) { String CRLF = "\r\n";//换行 String BLANK = " ";//空格 ServerSocket server = null; Socket client = null; InputStream is = null; try { //(1)创建ServerSocket对象 server = new ServerSocket(8888); //(2)监听是否有客户端发送请求 client = server.accept(); //获取来自浏览器的请求信息 is = client.getInputStream(); byte []buf = new byte[20480]; int len = is.read(buf); System.out.println(new String(buf,0,len)); /** * 对wed浏览器的请求作出响应 */ StringBuilder sb = new StringBuilder(); StringBuilder sbContent = new StringBuilder();//请求文本 sbContent.append("<html><head><title>响应结果</title></head>"); sbContent.append("<body>登陆成功</body></html>"); //1.拼接响应头 sb.append("HTTP/1.1").append(BLANK).append(200).append(BLANK).append("OK"); sb.append(CRLF); sb.append("Content-Type: text/html;charset=uft-8"); sb.append(CRLF); sb.append("Content-Length:").append(sbContent.toString().getBytes().length).append(CRLF); sb.append(CRLF);//换行,代表响应头与响应正文部门之间的空行 sb.append(sbContent); //通过流输出 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream(),"utf-8")); bw.write(sb.toString()); bw.flush(); bw.close(); } catch (IOException e) { e.printStackTrace(); }finally { //(6)关闭流 IOClose.closeAll(is,client,server); } } }
运行都正常,登陆也没问题
就是一进去就乱码
改编码格式,改成UTF-8,也是显示乱码,到底是哪里出了问题呢
在将Collection源码的时候说到了add方法,添加成功返回true,添加失败返回false,什么情况就算添加失败呢
老师,我的程序就因为User类不在同一个包下就一直报错。看到下面的回答,说server和client的User类必须再同一个包下并且同名,为什么要完全一致?
老师为什么会显示异常呢?xml文档的名字我都直接是粘贴复制的不可能错呀。
这是TestSAXParser类的截图
这是bookDefaultHandler类的截图
这是xml文档的截图
这是异常截图
麻烦老师帮忙看一下,谢谢
老师我想请问一下idea创建类的时候怎么进行视频截图上的操作,让创建的类继承另一个类
最后一步始终报空指针,配置了XML也报空指针,火狐,谷歌浏览器都试了,也是一样,附上代码
http_server8.zip
我知道接口是一个更抽象的抽象类。我是想说如果往多态的三个必要条件上面靠的话,是不是只要有类似于extends这样的类之间的关系存在都可以符合,而不是必须要有extends关键字。换句话说,就是是不是继承是一个概念,而extends是最接近他的解释,但不是继承=extends。只要符合继承概念,类与类之间关系的都可以看作符合多态的必要条件之一即继承,即会发生多态性。
这是百度百科上面对于继承的解释
继承可以使用 extends 和 implements 这两个关键字来实现继承,而且所有的类都是继承于java.lang.Object,当一个类没
有继承的两个关键字,则默认继承object(这个类在 java.lang包中,所以不需要 import)祖先类。
是不是可以理解为继承是一个概念,而实现继承概念的方法有implemets和extends。而不是我们经常说的,extends叫做继承。
我看下面有个人问道了,接口new 实现类。回答的是运用多态,多态的三个必要条件是继承,重写,父类引用指向子类对象。我对这个有点疑问。是不是接口就可以看作是类似继承呢?然后实现接口是类似重写,接口new 实现类是父类引用指向子类对象
这是我在网上搜到的解答,是不是我们平时学的所谓的继承是第一个实现继承。
继承概念的实现方式有三类:实现继承、接口继承和可视继承。
Ø 实现继承是指使用基类的属性和方法而无需额外编码的能力;
Ø 接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力;
Ø 可视继承是指子窗体(类)使用基窗体(类)的外观和实现代码的能力。
我是是不是可以理解为,装饰器模式是前面讲的组合和继承的综合应用。
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637