在写鸿蒙项目视频播放器项目时下载网络文件到本地时一直报需要写入的文件只读错误?

这是一个视频播放器的简易项目,在播放视频前先将网络上的视频下载到本地然后播放,但是在下载时出现无法写入的问题。代码如下:

@Override public void onStart(Intent intent) {

super.onStart(intent);

super.setUIContent(ResourceTable.Layout_ability_main);

downloadFile("https://media.w3.org/2010/05/sintel/trailer.mp4", "D:\\devecoStudio\\devecostudioProject\\testPlayer\\entry\\src\\main\\resources\\base\\media\\video.mp4");

  
播放视频代码省略。。。
  }


  public static void downloadFile(String httpUrl, String saveFile) {
    URL url = null;
    int byteRead;
    File file = new File(saveFile);
    try {
      url = new URL(httpUrl);
    } catch (MalformedURLException e) {
      LogUtil.error("tnt", "URL错误!!!");
    }
    //2.获取链接
//    URLConnection conn = null;
    try {
      conn = url.openConnection();
      //3.输入流
      Thread a = new Thread(new Runnable() {
        @Override
        public void run() {
          try {
            in = conn.getInputStream();
          } catch (IOException e) {
            e.printStackTrace();
          }
        }
      });
      a.start();
      try {
        a.join();
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
      //3.写入文件
      FileOutputStream fs = null;   
//     file.canRead();
//     file.canWrite();
      fs = new FileOutputStream(saveFile);  一直报只读异常,前面修改文件只读也不行。
      if (!file.exists()) {
        file.createNewFile();
      }
      byte[] buffer = new byte[1024];
      LogUtil.error("tnt", "in.read(buffer):"+in.read(buffer));
      while ((byteRead = in.read(buffer)) != -1) {
        fs.write(buffer, 0, byteRead);
      }
      in.close();
      fs.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }

}

ohos
2021-10-13 10:17:26
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
mb609898e2cfb86
1

看到的结果应该是config.json读写权限问题,楼主解决了吗?

 

分享
微博
QQ
微信
回复
2021-10-15 16:39:51
相关问题
用华为登录一直6003错误
5650浏览 • 1回复 待解决
鸿蒙开发如何播放本地视频
7180浏览 • 1回复 待解决
浏览下载文件如何导入鸿蒙
5024浏览 • 1回复 待解决
Harmony 如何读取本地视频文件路径?
12547浏览 • 2回复 待解决
关于 web 项目配置文件是否使用缓存
2206浏览 • 1回复 待解决