Java 在android中接收客户端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

我使用android中的socket编程传输文件 文件传输成功,但当我在客户端打开该文件时,它不包含任何数据,因为它包含0字节的数据

我的客户端代码如下:

 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
的值是多少?那个文件到底有多少字节?