如果y只有名称和路径,我可以知道文件扩展名吗?

时间:2014-01-16 15:38:23

标签: java android file-io

我有一个对象,其中一个属性是图像ID。 图像保存在文件夹中,其名称是其ID。 有些图像是jpg文件,有些是png文件,有些只是没有扩展名的图像。 我的问题是,如果我只知道存储的位置及其名称,是否有办法知道扩展名。

private void LoadImagenArticulo(Articulo articulo, ImageView imageViewControl)
{
    try {
        if(articulo == null)
            imageViewControl.setImageResource(R.drawable.articulo_no_encontrado);
        else
        {
            String imagePath = Fachada.getInstance().getImageFolder();
            if(imagePath != null && !imagePath.equals(""))
            {

                String pathName = imagePath + "/img" + articulo.getIdImagen(); 
                File image = new File(pathName);

                if(image.exists())
                {
                    Bitmap imageBitmap = UtilsUI.decodeFile(image);
                    if(imageBitmap != null)
                        imageViewControl.setImageBitmap(imageBitmap);
                }
                else
                    imageViewControl.setImageResource(R.drawable.articulo_sin_imagen);

            }
            else
                imageViewControl.setImageResource(R.drawable.articulo_sin_imagen);


        }
    } catch (Exception e) {
        Log.w("Exception", e.toString());
    }

1 个答案:

答案 0 :(得分:0)

有些工具可以根据内容检查实际的文件类型。试试这个:Java Mime Magic

编辑: 我找到了一个更简单的解决方案:

public static String getContentType(File file) throws IOException {
    return Files.probeContentType(file.toPath());
}

但是我还没有测试过所有文件类型。