ImageIO无法读取输入文件(Kotlin)

时间:2017-10-03 02:23:50

标签: java kotlin discord

我使用kotlin制作不和谐机器人,我有一个名为sam.png的PNG 但我尝试插入并得到此错误:

  

[23:18:38] [致命] [JDA]:javax.imageio.IIOException:无法读取输入   文件!

override fun run(ev: MessageReceivedEvent) {
    var selaSam: Image = ImageIO.read(File("/sam.png"))
    var image = LikeUtils.downloadImage(LikeUtils.getUserHandle(ev).getEffectiveAvatarUrl())

    image.graphics.drawImage(selaSam, 200, 200, null)

    LikeUtils.sendFile(image, "/resources/sam.png", null)
}

1 个答案:

答案 0 :(得分:0)

路径/sam.png表示文件在根路径中可用(不是项目的工作路径,而是系统的根路径)。我怀疑是这种情况。

我想你想要那条道路:./sam.png。 最好用

检查文件是否存在
override fun run(ev: MessageReceivedEvent) {
    val imagePath = "/sam.png"
    val image = File(imagePath)
    if (!image.exists()) throw RuntimeException("Image $imagePath not found")
    if (image.isDirectory) throw RuntimeException("Image $imagePath is a directory")

    var selaSam: Image = ImageIO.read(image)
    var image = LikeUtils.downloadImage(LikeUtils.getUserHandle(ev).getEffectiveAvatarUrl())

    image.graphics.drawImage(selaSam, 200, 200, null)

    LikeUtils.sendFile(image, "/resources/sam.png", null)
}