当实例化一个新的 URL 时,下面的第一段代码来自 DrawImage 类。但是,当我从另一个类 RandomImage 输入相同的字符串(“ https://www.purchased.com/hubfs/template/favicon.png ”)时,会出现以下错误:
我首先尝试手动输入字符串。
import java.awt.Image;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class DrawImage {
public static void main(String[] args) throws Exception {
String link = "https://www.purchased.com/hubfs/template/favicon.png";
System.setProperty("http.agent", "Chrome");
URL url = new URL(link);
Image image = ImageIO.read(url.openStream());
}
}
-> 按预期工作
然后,我改为提供一个 RandomImage(这是产生错误消息的那个!)
import java.awt.Image;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class DrawImage {
public static void main(String[] args) throws Exception {
RandomImage img = new RandomImage();
String link = img.link;
System.setProperty("http.agent", "Chrome");
URL url = new URL(link);
Image image = ImageIO.read(url.openStream());
}
}
以下课程提供随机图像:
import java.net.*;
import java.io.*
public class RandomImage {
public static String link;
public RandomImage() throws Exception {
this.link = generateUsableImageLink();
}
但是在运行第二种方法时,出现以下错误:
java.net.MalformedURLException: no protocol: "https://www.purchased.com/hubfs/template/favicon.png"
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at DrawImage.main(DrawImage.java:25)
我尝试(如您在上面的代码中看到的那样)将 RandomImage 设为一个对象,但错误提要告诉我,当我使用来自 RandomImage 的输入创建 URL 实例时发生了错误。
如果我猜的话,这个问题是由导入包之间的某些交互或 RandomImage 中抛出的错误引起的。一个字符一个字符,我手动输入的String和RandomImage生成的String完全一致。我将如何解决这个问题?
繁花不似锦
相关分类