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, "发送完文件数据");
  • 相关阅读:
    都不敢上CSDN了
    什么是函数(function)?
    今天3/8妇女节
    一件有意思的事情:关于std::string和std::auto_ptr
    转两篇Link相关的文章
    DevIL Downloads
    状态模式(State Pattern)
    访问者模式(Visitor Pattern)
    羊皮卷的故事第二章
    备忘录模式(Memento Pattern)
  • 原文地址:https://www.cnblogs.com/feijian/p/4516628.html
Copyright © 2011-2022 走看看