我需要从URI获取File对象,该对象在Java中工作,但是长度始终为零-尽管我知道文件大小不为零。

我需要File对象传递给another constructor

我不确定是否是因为我以错误的方式构造它?这是我的代码:

    File videoFile = new File(videoURI.getPath());
    if (videoFile == null) {
        Log.d(LOG_TAG, "File not found!");
        return false;
    }

    Log.d(LOG_TAG, "about to upload, filepath: " + videoFile.getPath());

    Log.d(LOG_TAG, "File length: " + String.valueOf(videoFile.length()));


日志输出不会吐出“找不到文件!”,并输出非空路径,但长度为0。

最佳答案

确保您的URI指向文件。

videoFile不会为null,因为您可能正在创建一个新文件。所以videoFile不能代表您认为的实际文件,这就是为什么长度为0的原因。

File videoFile = new File(videoURI.getPath()); // videoFile != null


尝试使用带有URI的File constructor

关于java - Java:从URI构造文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2351633/

10-10 11:53