当前位置: 首页 > 知识库问答 >
问题:

检查是否存在blob时出现空指针异常

单展
2023-03-14

我有一个com.google.云存储Blob对象。我可以在java代码中下载和上传这个对象,但我想在启动进程之前检查一下是否存在某些东西。简而言之,这里是我的代码中给我带来问题的部分。

import com.google.cloud.storage.Blob;
import com.google.cloud.storage.BlobId;
import com.google.cloud.storage.Storage;
import com.google.cloud.storage.StorageOptions;

public class Function implements BackgroundFunction<GcsEvent> {
    public void accept(GcsEvent event, Context context) {
        String bucketname = "my_bucket";
        String blob_path = "path/to/my/object.jpg";
        Storage storage = StorageOptions.newBuilder().setProjectId("my_project_id").build().getService();
        Blob b = storage.get(BlobId.of(bucketname, blob_path));
        // this is where the null pointer exception occurs
        boolean exists = b.exists();
        if (exists) {
            //do something
        }
    }
}

Eclipse似乎无法在IDE中捕获它。示例似乎也遵循此布局。有人知道发生了什么事吗?

我正在Linux环境机器上运行。(它在云功能方面也失败了)。我正在使用Java 11运行时。

共有1个答案

公孙宗清
2023-03-14

我觉得自己很傻。我发现存储。get(BlobId.of(bucketname,blob\u path)) 返回null。与其使用b.exists(),不如使用if(b!=null){//do stuff}检查它是否为null。

 类似资料:
  • DescriptionServer遇到了一个内部错误(),它无法满足此请求。 例外 jasperException:java.lang.NullPointerException根本原因 NullPointerException

  • 问题内容: 在查询Android日历中的事件之前,我需要检查权限。为此,Android studio警告我在查询之前需要先进行检查。自动生成的代码如下: 尝试运行它时,出现以下错误: 尝试 在空对象引用上调用虚拟方法’int android.content.Context.checkPermission(java.lang.String,int,int)’ 因此很明显,此时某些东西为空,我试图以不

  • 以下是在sun.reflect.nativeMethodAccessorImpl.Invoke0(本机方法)在sun.reflect.nativeMethodAccessorImpl.Invoke(未知源)在sun.reflect.NativeMethodAccessorImpl.Invoke(未知源)在java.lang.Reflect.Method.Invoke(未知源)在com.codena

  • > 单击 受保护得空onPrepareDialog(int id,Dialog Dialog) 受保护的对话框onCreateDialog(int id) 如果我对timepickerdialog代码做了什么错误,请告诉我。

  • 我已经创建了一个带有数据的MongoDB,但是当检索特定集合中的所有文档时,我的程序给出了一个空指针异常。 这里是我的代码,userRepository.java 但是在rest api中的TIG是相同的函数,运行良好。 这就是我在alert.java中使用UserSedder的方式。

  • 问题内容: 此代码导致空指针异常。我不知道为什么: 我已经在调试器中检查了它,所有局部变量都不为空。怎么会这样呢?BiMap来自Google Collections。 问题答案: 空指针异常是将的结果拆箱的结果。如果不包含键,则返回“ of type” 。假设分配是给引用的,Java将值拆箱到中,导致空指针异常。 您应该检查或用作局部变量类型,以免取消装箱并采取相应措施。适当的机制取决于您的上下文