JAVA里断点的作用是什么?
发布网友
发布时间:2022-04-30 21:38
我来回答
共5个回答
热心网友
时间:2022-06-18 22:25
这个不太难吧?
假设a给b传文件f(1024字节)。第一次b接收了512字节,那么第二次连接a就应该从513字节开始传输。
也就是说,在第二次传输时,b要提供“我要从513字节开始传送文件f”的信息,然后a使用fileinputstream构建输入流读取本地文件,使用skip(512)方法跳过文件f的前512字节再传送文件,之后b将数据追加(append)到先前接收的文件末尾即可。
进一步考虑,如果要实现多线程传送,即分块传输,也同样的道理。假如b要求分作两块同时传输,那么a启动两个线程,一个从513字节读到768字节(工256字节),第二个线程从769字节到1024字节即可。
如果你要从网络上下载文件,就是说a方不是你实现的,那么你要先确认a方支不支持断电续传功能(http1.1),然后你查阅下http1.1协议,在http1.1版本里,可以通过设置请求包头某个字段的信息(使用urlconnection创建连接并使用setrequestproperty(stringkey,stringvalue)方法设置)从而精确读取文件的某一段数据的。注意,基于http断点续传的关键是1.1版本,1.0版本是不支持的。
补充:
嗯,查到了,是设置range属性,即setrequestproperty("range","bytes=513-1024").你可以使用迅雷下载某个文件,然后从”线程信息“中就可以看到这个http1.1断点续传的所有行为信息了。
热心网友
时间:2022-06-18 22:26
java线程运行到断点处会进入阻塞状态,你可以查看此时程序运行的状态,比如变量的值是否与预期的一致等等。。主要是用在debug上。
热心网友
时间:2022-06-18 22:26
分析错误
热心网友
时间:2022-06-18 22:27
保护
热心网友
时间:2022-06-18 22:28
应该是断掉JAVA的点吧..