尝试保存来自this网址的图片,该图片会转换为图片。看起来我错过了什么,图像没有保存在桌面上
import java.awt.image.BufferedImage;
import java.io.File;
import java.net.URL;
import javax.imageio.ImageIO;
public class Image {
public static void main(String[] args) {
BufferedImage image = null;
try {
String url = "http://ramp.sdr.co.za/zp-core/i.php?a=1402NYFW/NicholasK&i=1402_NYFW_1005_NicholasK.JPG&w=387&h=580&cw=&ch=&q=92&wmk=!";
String imgPath = null;
imgPath = "C:/temp" + "a" + "";
URL imageUrl = new URL(url);
image = ImageIO.read(imageUrl);
if (image != null) {
System.out.println("in here");
File file = new File(imgPath);
ImageIO.write(image, "jpg", file);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
答案 0 :(得分:2)
您可能没有适当的用户权限来写入“C:/ tempa”。事件,如果您决定使用“c:/ temp”,该文件夹可能不存在,您可能没有创建它或写入它所需的权限。
您可以使用System.getProperties("user.home")
,它将返回当前用户的主目录,这更有可能允许您写入
String imgPath = System.getProperties("user.home") + "/a image.jpg";
File file = new File(imgPath);
ImageIO.write(image, "jpg", file);
我还会在else
语句中添加if
语句,以便您可以查看图片何时未加载