import java.awt.Image;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class mainClass {
public static void main(String[] args) {
try {
Image picture = ImageIO.read(new File("picture.png"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
该文件肯定在src文件夹中。
但它每次都抛出异常,即使文件存在,也没有拼写错误。
编辑:第一句话是真的,我没有把图像放在根目录中。
答案 0 :(得分:2)
try
{
Image picture = ImageIO.read(new File("picture.png"));
}
catch (IOException e)
{
String workingDir = System.getProperty("user.dir");
System.out.println("Current working directory : " + workingDir);
e.printStackTrace();
}
答案 1 :(得分:0)
尝试指定图像的路径。例如:
Image picture = ImageIO.read(new File("C:/workspace/Project/src/picture.png"));
或者,如果图像位于工作区中,例如:
<script type="text/javascript">
function SetName() {
if (window.opener != null && !window.opener.closed) {
var txtName = window.opener.document.getElementById("TextBox1");
txtName.value = document.getElementById("Initialtest").value;
var txtName1 = window.opener.document.getElementById("TextBox2");
txtName1.value = document.getElementById("Initialtest2").value;
}
alert("test");
window.close();
}
</script>
您可以在图像中单击鼠标右键,然后单击属性,查看图像位置(图像路径)。
您可以使用一个slah(/)或两个反斜杠(\\)来分隔路径的目录。
答案 2 :(得分:0)
java中存在二分法。
如果您的文件是可交付项目的一部分,可以打包在应用程序jar文件中的文件,那么它是 资源 。
Image picture = ImageIO.read(SomeClassOfYours.class.getResource("/picture.png"));
路径相对于该类,可以成为绝对路径。全部在应用程序的java类路径上。
如果您的文件是 文件系统文件 ,File
,那么最佳路径是完整的绝对路径。相对路径取决于运行应用程序的工作目录,并且可能不同。
Image picture = ImageIO.read(new File("C:/.../src/picture.png"));
问题似乎表明图像是应用程序的只读部分,在这种情况下它是资源文件。路径必须区分大小写,并且路径分隔符必须为正斜杠/
。
答案 3 :(得分:0)
ImageIO.read()
函数将检查图像是否已损坏。如果它已损坏,则会抛出异常。
ImageIO.read(new File("C:/Desktop/picture.jpeg"));