【问题标题】:Error Receiving File over Socket Android/Java通过 Socket Android/Java 接收文件时出错
【发布时间】:2014-10-23 10:32:51
【问题描述】:

我正在尝试将文件从 Android 发送到带有 java 服务器的计算机终端。 我离开你写了下面的代码用于发送和接收文件,并考虑收到错误。

Android(发送者-客户端):

                byte[] mybytearray = new byte[(int) selectedFile.length()];
                BufferedInputStream bis = new BufferedInputStream(new FileInputStream(selectedFile));
                bis.read(mybytearray, 0, mybytearray.length);
                OutputStream os = socket2.getOutputStream();
                os.write(mybytearray, 0, mybytearray.length);
                os.flush();

Java(接收器-服务器):

                    76)int lenghtf = Integer.parseInt(lenght);
                    77)byte[] mybytearray = new byte[lenghtf];
                    78)InputStream is = socket.getInputStream();
                    79) FileOutputStream fos = new FileOutputStream(namef);
                    80) BufferedOutputStream bos = new BufferedOutputStream(fos);
                    81) int bytesRead = is.read(mybytearray, 0, mybytearray.length);
                    82) bos.write(mybytearray, 0, bytesRead);
                    83)bos.close();

我收到此错误

【问题讨论】:

    标签: java android file sockets send


    【解决方案1】:

    接收者:

    FileOutputStream out1 = new FileOutputStream("File Ricevuti\\"+namef);
                        byte[] buf = new byte[socket.getReceiveBufferSize()];
                        int len = 0;
                        while ((len = inp.read(buf)) != -1) {
                            out1.write(buf, 0, len);
                            out1.flush();
                            //out1.flush();
                        }
    
                        out1.close();
    

    发件人:

     InputStream in =  new FileInputStream( f );
    
                    byte[] buf = new byte[socket2.getSendBufferSize()];
                    int len = 0;
                    while ((len = in.read(buf)) != -1) {
                        out.write(buf, 0, len);
    
                    }
                    in . close ();
                    out.close();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-05
      • 2020-03-15
      • 2015-07-24
      • 2018-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-09
      相关资源
      最近更新 更多