为了账号安全,请及时绑定邮箱和手机立即绑定

Service 的 RandomAccessFile 对象一直空 打断点了也看不出来 命名new了啊 而且文件长度获取一直是0

//初始化子线程
class InitThread extends Thread {
   private FileInfo mFileInfo;

   public InitThread(FileInfo mFileInfo) {
       this.mFileInfo = mFileInfo;
   }

   public void run() {
       HttpURLConnection connection = null;
       RandomAccessFile raf = null;
       try {
           //连接网络文件
           URL url = new URL(mFileInfo.getUrl());
           connection = (HttpURLConnection) url.openConnection();
           connection.setConnectTimeout(3000);
           connection.setRequestMethod("GET");
           int length = -1;
           if (connection.getResponseCode() == 206) {
               //获得文件长度
               length = connection.getContentLength();
           }
           if (length <= 0) {
               return;
           }
           File dir = new File(DOENLOAD_PATH);
           if (!dir.exists()){
               dir.mkdir();
           }
           //在本地创建文件
           File file = new File(dir , mFileInfo.getFileName());
           raf = new RandomAccessFile(file,"rwd");
           //设置文件长度
           raf.setLength(length);
           mFileInfo.setLength(length);
           handler.obtainMessage(MSG_INIT,mFileInfo).sendToTarget();
       } catch (Exception e) {
           e.printStackTrace();
       }finally {
           try {
               connection.disconnect();
               raf.close();
           } catch (NullPointerException e) {
               e.printStackTrace();
           } catch (IOException e) {
               e.printStackTrace();
           }

       }
   }
}



正在回答

2 回答

可能是DownloadService中间的创建文件夹这一步不行

public static final  String DOWNLOAD_PATH =
        Environment.getExternalStorageDirectory().getAbsolutePath() +
                "/downloads/";

你需要手动创建这个文件夹,我是这样解决  这一句raf = new RandomAccessFile(file,"rwd"); 的找不到文件

0 回复 有任何疑惑可以回复我~
#1

qq_慕侠1345768

请问在哪里手动创建?
2019-11-15 回复 有任何疑惑可以回复我~

你的MainActivity传过来的没有文件名,可能是这样

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android-Service系列之断点续传下载
  • 参与学习       20444    人
  • 解答问题       87    个

想升职加薪么?本章课程你值得拥有,满满的干货,学起来吧

进入课程

Service 的 RandomAccessFile 对象一直空 打断点了也看不出来 命名new了啊 而且文件长度获取一直是0

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信