这种方式也可以对list实现排序,这要怎们理解呢
这节课和上一节课的位置反了,需要调换一下
老师我代码一样防火墙也关了结果输出还是这
package com.url; import java.io.BufferedWriter; import java.io.FileOutputStream; import java.net.URL; import org.omg.CORBA.portable.InputStream; public class TestURL2 { /* * 网络爬虫 * (1)从网络上获取资源www.baidu.com * (2)存储到本地 */ //(1)创建URL对象 URL url=new URL("https://www.baidu.com"); //主页资源 //(2)获取字节输入流 InputStream is=url.openStream(); //(3)缓冲流 BufferedReader br=new BufferedReader(new InputStreamReader(is,"utf-8")); //(4)存储到本地 BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("index.html","utf-8"))); //(5)边度边写 String line =null; while((line=br.readLine)!=null) { bw.write(line); bw.newLine(); bw.flush(); } //(6)关闭流 bw.close(); br.close(); } }
问题:
找不到错误之处
MyInteger b =MyInteger. valueOf(100);
老师这个MyInteger.valueOf 是什么意思,方法的调用吗,还是什么别的固定写法。
老师好,请问:
这里同步监视器中的内容是共享资源,也是操作的资源,就是不确定的资源,像图中的是不是还没有水呢,就是有钱没水, 而不是有水没钱呢,这个共享资源怎么理解?
老师,我想问PrintWriter,这个流的写方法,为什么我用write就只能写一次,println才能连续去写呢?
这第一行不是已经在最后换行了吗,为啥第二行还有换行
老师,为什么每一次创建setget有参方法的时候还要随手创建一个无参的
老师,在不适用字节缓冲区时候,read每次读取一个字节数据然后使用while循环写入,使用字节缓冲的话,是不是先读取字节文件写入字节数组,再把值赋给temp,然后一次循环一次循环的覆盖被写入的文件,直到最后一个字节,循环结束,就会把完整的数据都写入,所以temp就可以是length?
就是是不是在while循环没结束之前,目标文件是一次次的被写入不完整但是逐渐完整的数据,而且每次是覆盖呢?
先启动服务器端、再启动客户端后 服务器端没有收到信息 但是客户端收到了反馈
package com.bjsxt.net.server; 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 { System.out.println("---------------服务器端已启动--------------------"); //(1)创建ServerSocket对象 ServerSocket server = new ServerSocket(9999); //(2)监听是否有客户端来请求连接 Socket client = server.accept(); //(3)获取信息 输入流 InputStream is = client.getInputStream(); //(4)反馈已收到 输出流 OutputStream os = client.getOutputStream(); os.write("收到了".getBytes()); //(5)关闭流、关闭Socket if(os!=null){ os.close(); } if(is!=null){ is.close(); } if(client!=null){ client.close(); } } }
package com.bjsxt.net.client; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; /** * 客户端 要先启动服务器端 */ public class Test { public static void main(String[] args) throws IOException { //(1)创建Socket对象 Socket client = new Socket("127.0.0.1",9999); //(2)获取输出流 向服务器端发送信息 OutputStream os = client.getOutputStream(); os.write('a'); //(3)获取输入流 获取服务器端发来的反馈 InputStream is = client.getInputStream(); byte[] buf = new byte[1024]; //中转站 int len=0; //读到的字节个数 while((len=is.read(buf))!=-1){ System.out.println(new String(buf,0,len)); } //(4)关闭流 if(is!=null){ is.close(); } if(os!=null){ os.close(); } if(client!=null){ client.close(); } } }
第一次运行的时候 好像跳出了什么拦截信息 没注意看 顺手关了 然后发现发现运行结果如下
试解答楼上同学问题:
1. test是在removeIf里边调用的。
2. 你写成那样是boolean,参数类型不兼容,可改为:
list.removeIf(new PredicateImp()::test)
w为啥会出现-600呀,我延迟等余额出来200才启动的t2,不应该在比较余额时进入else部分,取钱失败吗?
泛型为什么写作<Users>,记得之前的课程里,只有T,Integer,这种啊?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637