我几个小时以来一直在寻找代码中的错误,但我根本无法找到它。 我可以找到错误在我的代码的这一部分:
public String getType(File file)
{
String type = null;
try
{
type = URLConnection.guessContentTypeFromName(file.getAbsolutePath());
if (type.startsWith("image"))
{
Log.d(logTag, file.getAbsolutePath());
}
}
catch (Exception e){}
return type;
}
这个工作非常好但是当我在return语句之前直接进行字符串比较时,我不会得到以" image"开头的所有类型。
当我不使用异常处理块时,会发生同样的事情。
我还显示了字符串的整数值,它们相等。
如果重要:这是一个Android项目。
修改 E.g我得到
/storage/emulated/0/WhatsApp/Media/WhatsApp Images/IMG-20150906-WA0000.jpg
在这两种情况下我收到了
/storage/emulated/0/Profilbilder/18186367897.jpg
仅当我使用上面的代码时。并且不会为此文件抛出异常。
修改 我创建了一个新项目,现在按预期工作。由于我的新代码不完全相同但差不多,我无法判断这是一个逻辑错误还是编译器
答案 0 :(得分:-1)
当file为null或URLConnection抛出一些异常时,type必须为null,然后在type.startsWith(“image”)上有一个nullpointerException