图片文件在Java中显示为Thumbs.db



我创建了一个目录,然后在数组中列出了目录中的文件。目录中的所有文件都是.png文件。当我在控制台中打印阵列时,这些图片被称为thumbs.db

public static void PictureOverlay1() throws IOException {
    overlay = ImageIO.read(new File(overlayPath2, ""));
    image = ImageIO.read(new File(imagePath, ""));
    if (!path.exists()) {
        System.out.println("Creating File");
        path.mkdir();
    } else {
        System.out.println("Already Created");
        // create the new image, canvas size is the max. of both image sizes
        int w = Math.max(image.getWidth(), overlay.getWidth());
        int h = Math.max(image.getHeight(), overlay.getHeight());
        BufferedImage combined = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
        // paint both images, preserving the alpha channels
        Graphics g = combined.getGraphics();
        g.drawImage(image, 0, 0, null);
        g.drawImage(overlay, 0, 0, null);
        // Save as new image
        ImageIO.write(combined, "PNG", new File("C:/Users/Daniel/Documents/Brain Bang/Coding/Minecraft Modding/New Mods/1.6.4 Television Mod/forge/mcp/src/minecraft/assets/tvmod/textures/blocks/combined.png"));
    }
}

您写道:

目录中的所有文件都是.png文件。

我不这么认为。既然你有一个名为thumbs.db的结果,我猜你在Windows机器上。Windows在每个目录中添加两个文件:

  • desktop.ini
  • thumbs.db

您应该跳过这两个文件(或者只跳过每个隐藏的文件-Windows会自动将这些文件标记为隐藏文件)。

最新更新