zoukankan      html  css  js  c++  java
  • android开发,socket发送文件,read阻塞,得不到文件尾-1

    这是我的接收文件代码:开始可以读取到-1,但是现在又读取不到了,所以才加上红色字解决的(注释的代码)

                        File file = new File(mfilePath,"chetou."+entity.mediaType);
                        if(!file.exists())
                            file.createNewFile();
                        FileOutputStream fos =new FileOutputStream(file);  //将接收的文件保存到对应的路径
                        byte[] sendBytes =new byte[1024];
                        int transLen =0;
                        Log.v(TAG, "----开始接收文件<" + entity.params +">,文件大小为<" + fileLength +">----");
                        while(true){
                            int read =0;
                            read = dis.read(sendBytes);
                            Log.v(TAG, "read="+read);
                            if(read == -1)
                                break;
                            transLen += read;
                            Log.v(TAG, "接收文件进度" +100 * transLen/fileLength +"%...");
                            fos.write(sendBytes,0, read);
                            fos.flush();
                            /*if(transLen==fileLength)
                                break;*/
                        }
                        Log.v(TAG, "----接收文件<" + entity.params +">成功-------1");
                        entity.filePath = mfilePath+"/chetou."+entity.mediaType; //将下载下来的文件名字赋值给entity.filePath
                        Log.v(TAG, "----接收文件<" + entity.params +">成功-------2");

    发送文件的代码:

    //传输文件
                FileInputStream fis =new FileInputStream(file);
                byte[] sendBytes =new byte[1024];
                int length =0;
                while((length = fis.read(sendBytes,0, sendBytes.length)) >0){
                    dos.write(sendBytes,0, length);
                    dos.flush();
                }
                fis.close();
                Log.v(TAG, "发送完文件数据");
  • 相关阅读:
    web.xml 中的listener、 filter、servlet 加载顺序及其详解
    AOP概念的理解
    webx学习总结
    如何设计编制软件测试用例(一~三)
    冒烟测试小结(转载)
    在web.xml不认<taglib>解决办法
    document.domain 跨域问题【转】
    判断图片是否加载完成
    指定步长中间值
    关于 contentWindow, contentDocument
  • 原文地址:https://www.cnblogs.com/feijian/p/4516628.html
Copyright © 2011-2022 走看看