byte[] file_buf = new byte[1024];
FileInputStream fis =new FileInputStream(...);int f_read =1;
while( f_read>0)
{
f_read = fis.read( file_buf, 0, 1024);
if( f_read>0)
{
// send out file_buf
}
}
FileInputStream fis =new FileInputStream(...);int f_read =1;
while( f_read>0)
{
f_read = fis.read( file_buf, 0, 1024);
if( f_read>0)
{
// send out file_buf
}
}
解决方案 »
- 一个文本框一直接收消息,当超过长度后,出现滚动条,然后,当超过一定长度以后,将前面的信息丢掉,然后保持.
- 如何用Java写一个简易的多线程的HTTP Web Server
- 如何解决java里类似C++中指针的指针才能解决的问题?看例子
- 调查以下,各位用java开发哪方面的系统及相应的配置。
- 在下面的情况下,如何得到文件的绝对路径(高分)
- 请问如何在关闭窗口时,避免程序终止?
- 一个继续解答的问题,请帮忙!!!
- 以前的铁子打不开,只有再问如何java连接Sybase数据库...
- 如何连接sql sever2000
- 请问这里的高手:“../cgi-bin/registergj.cgi' script producted no output”是何原因引起?
- 请教:怎样修改JTree中每级节点前面的图标?
- 使用Gel IDE的体会!!
谢谢,有几个问题不清楚,还望指教:
1.file_buff送出去之后,发送端会一直不停的读1024个字节然后不停的发,如果接收端还没有收到或处理完怎么办?2.如果不是在本机上而是在网络较差的环境中,会不会丢失数据?用Socket编写是不是就可以避免这个问题?因为我听说socket使用的TCP协议,而TCP有自动检测功能会自动重发.
能不能将清楚一些,因为我现在只学了java.io包,还没有看java.nio.
谢谢
配合多线程,一般都要这么做
TCP协议不会丢失数据