Java ImageIO,Can';无法读取输入文件

Java ImageIO,Can';无法读取输入文件,java,javax.imageio,Java,Javax.imageio,几年前,我修了几门编程课程。现在我的处境是,一些非常基本的图像处理可能会为我节省大量的时间。不幸的是,我有点困在试图阅读图像。我以前没有这样做过,基本上只是复制了我找到的一些代码,但我得到了“javax.imageio.IIOException:无法读取输入文件!”。我尝试移动图像“Test.jpg”并更改路径。我不明白是什么导致了这个问题。我使用macOS,不确定这是否相关 import java.io.File; import java.io.IOException; import java

几年前,我修了几门编程课程。现在我的处境是,一些非常基本的图像处理可能会为我节省大量的时间。不幸的是,我有点困在试图阅读图像。我以前没有这样做过,基本上只是复制了我找到的一些代码,但我得到了“javax.imageio.IIOException:无法读取输入文件!”。我尝试移动图像“Test.jpg”并更改路径。我不明白是什么导致了这个问题。我使用macOS,不确定这是否相关

import java.io.File;
import java.io.IOException;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;

public class MyImage{
  public static void main(String args[])throws IOException{
    BufferedImage image = null;
    File f = null;
    
    try {
        f = new File("Users/simonprobert/eclipse-workspace/LineLengthCounter/src/Test.jpg");
        image = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB);
        image = ImageIO.read(f);
        System.out.println("Reading complete.");
    } catch(IOException e){
        System.out.println("Error: "+e);
    }
  }
}

(目前我只是在尝试读取图像,其余的在这一点上并不重要)

我在Mac上。“用户”是“Macintosh HD”上的文件夹。本地工作区是“LineLengthCounter”,所以我猜我应该可以只使用路径“src/Test.jpg”,但这不起作用。文件路径看起来不正确
“/src/Test.jpg”
可能有效,否则您可以使用文件的绝对路径,例如
“C:/Users/simonprobert/eclipse workspace/LineLengthCounter/src/Test.jpg”
。如果您计划稍后在JAR中加载该资源,那么您应该看看,这是加载资源的首选方式。此外,这里有一些关于的信息。您可能应该使用绝对路径(以“/”开头),否则该路径将是相对于当前目录的。然而,像这样硬编码路径通常不是一个好主意。如果图像是应用程序的一部分,则使用资源,否则考虑使用这样的程序参数:<代码> f =新文件(ARGS(0));
并在命令行上指定文件。在shell中使用路径完成通常更容易找到文件。谢谢!我尝试了更多的路径,现在我的作品!