目前我的程序中有这样的代码:
BufferedImage ReadPicture = null;
try {
ReadPicture = ImageIO.read(new File("C:/Users/John/Documents/NetBeansProjects/Program5/build/classes/Program5/Pictures/TestPicture.png"));
} catch (IOException e) {
}
如果我将文件编译为jar并将其提供给其他人,则该程序不起作用,因为类路径特定于我的计算机。如何更改文件/图像的访问方式,以便它可以在所有计算机上运行?
答案 0 :(得分:1)
特别是对于 stream = urllib2.urlopen('http://www.google.com')
start_time = time()
output = stream.read()
end_time = time()
stream.close()
print "Ping in ms = %r:" % (round(end_time-start_time, 3))
,如果您总是想从类路径中读取图像,而不考虑类路径实际是什么,那么您可以这样做:
ImageIO
这取决于BufferedImage readPicture = null;
URL imageUrl = getClass().getClassLoader().getResource(
"/Program5/files/Pictures/TestPicture.png");
// Or
// InputStream imageStream = getClass().getClassLoader().getResourceAsStream(
// "/Program5/files/Pictures/TestPicture.png");
// null if not found
try {
readPicture = ImageIO.read(imageUrl);
// null if the image format is unrecognized
} catch (IOException e) {
// ...
}
可以通过URL获取图像的事实。即使图像打包在Jar文件中,也可以使用此方法,与您的类(或不是)一起打包。
答案 1 :(得分:0)
您可以在项目中添加一个文件夹,命名文件或任何您想要的文件。您可以在其中创建子目录并在其中排列文件。当您与他人共享时,它们将可用。在下面的代码中,& #34;"代表工作目录。所以确保你提供的目录结构是正确的。尝试这样的事情。
BufferedImage ReadPicture = null;
try {
ReadPicture = ImageIO.read(new File("./files/Pictures/TestPicture.png"));
} catch (IOException e) {
}