Java 在android中接收客户端0字节的文件?
我使用android中的socket编程传输文件 文件传输成功,但当我在客户端打开该文件时,它不包含任何数据,因为它包含0字节的数据 我的客户端代码如下:Java 在android中接收客户端0字节的文件?,java,android,eclipse,sockets,Java,Android,Eclipse,Sockets,我使用android中的socket编程传输文件 文件传输成功,但当我在客户端打开该文件时,它不包含任何数据,因为它包含0字节的数据 我的客户端代码如下: byte [] mybytearray = new byte [filesize]; InputStream is = socket.getInputStream(); FileOutputStream fos = new FileOutputStream("/storage/sdcard0/Abstract.docx"); Buffer
byte [] mybytearray = new byte [filesize];
InputStream is = socket.getInputStream();
FileOutputStream fos = new FileOutputStream("/storage/sdcard0/Abstract.docx");
BufferedOutputStream bos = new BufferedOutputStream(fos);
bytesRead = is.read(mybytearray,0,mybytearray.length);
current = bytesRead;
do {
bytesRead =is.read(mybytearray, current, (mybytearray.length-current));
if(bytesRead >=0)
{
current += bytesRead;
}
} while(bytesRead > -1);
bos.write(mybytearray, 0 , current);
bos.flush();
long end = System.currentTimeMillis();
long start = System.currentTimeMillis();
System.out.println(end-start);
bos.close();
socket.close();
我的服务器端代码在这里
while (true) {
Socket socket = serverSocket.accept();
////////////////////////////////
File myfile=new File("/storage/sdcard0/Abstract.docx");
byte[] mybytearray=new byte[(int)myfile.length()];
FileInputStream fis =new FileInputStream(myfile);
BufferedInputStream bis=new BufferedInputStream(fis);
bis.read(mybytearray,0,mybytearray.length);
OutputStream os=socket.getOutputStream();
System.out.println("Sending.........");
msg.setText("Sending 123.exe..........");
os.write(mybytearray,0,mybytearray.length);
os.flush();
socket.close();
//////////////////////////////////////////////////////
count++;
message += "#" + count + " from " + socket.getInetAddress()
+ ":" + socket.getPort() + "\n";
MainActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
msg.setText(message);
}
});
SocketServerReplyThread socketServerReplyThread = new SocketServerReplyThread(
socket, count);
socketServerReplyThread.run();
}
我正在我的手机上运行它,而不是在emulator上运行
文件传输成功
???什么意思?0字节是否成功?byte[]mybytearray=新字节[filesize]代码>。文件大小?请详细说明。My filesize=6022386这是一个变量值,我的文件大小为11 kb,但当我运行程序时,我的文件成功地用扩展名复制到客户端,但其中不包含任何数据。我的文件成功地用扩展名复制到客户端,但其中不包含任何数据。
。当它是0字节时,你怎么能说它“复制成功”?那句话毫无意义。您应该说:文件根本没有被复制。“我的代码”只创建了一个0字节的文件。
。下载该11KB文件时,current
的值是多少?那个文件到底有多少字节?