使用Java写一个获取图片url的代码
时间: 2023-02-26 21:14:41 浏览: 42
可以使用以下代码来获取图片的URL:URL url = new URL("图片的URL");// 创建URL对象InputStream in = url.openStream();// 打开输入流BufferedInputStream bis = new BufferedInputStream(in);// 从输入流读取图片数据ByteArrayOutputStream out = new ByteArrayOutputStream();// 构建字节数组输出流int b;while((b = bis.read()) != -1){// 读取图片文件数据out.write(b); // 写入字节数组输出流String url = out.toString();// 获得图片的URL
相关问题
java获取图片url
你可以使用Java中的URL类和BufferedImage类来获取图片的URL。以下是获取图片url的示例代码:
```java
import java.awt.image.BufferedImage;
import java.net.URL;
import javax.imageio.ImageIO;
public class ImageUrlExample {
public static void main(String[] args) {
try {
URL imageUrl = new URL("https://example.com/image.jpg");
BufferedImage image = ImageIO.read(imageUrl);
System.out.println("Image URL: " + imageUrl);
} catch (Exception e) {
System.out.println("Error: " + e.getMessage());
}
}
}
```
在上面的示例中,我们使用java.net.URL类来创建一个指向图片的URL对象,然后使用javax.imageio.ImageIO类的read()方法来读取该URL对象中的图片,并将其存储在一个BufferedImage对象中。最后,我们打印出图片的URL。
用java语言写一个网页爬虫 用于获取图片
好的,以下是一个简单的Java网页爬虫示例,可以用于获取网页中的图片:
```java
import java.io.*;
import java.net.*;
import java.util.regex.*;
public class WebCrawler {
public static void main(String[] args) {
String url = "https://www.example.com";
String html = getHtml(url);
String pattern = "<img.*?src=\"(.*?)\".*?>";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(html);
while (m.find()) {
String imgUrl = m.group(1);
downloadImage(imgUrl);
}
}
private static String getHtml(String url) {
StringBuilder html = new StringBuilder();
try {
URLConnection conn = new URL(url).openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
html.append(line);
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
return html.toString();
}
private static void downloadImage(String imgUrl) {
try {
URL url = new URL(imgUrl);
InputStream is = url.openStream();
String fileName = imgUrl.substring(imgUrl.lastIndexOf("/") + 1);
FileOutputStream fos = new FileOutputStream(fileName);
byte[] buffer = new byte[1024];
int length;
while ((length = is.read(buffer)) != -1) {
fos.write(buffer, 0, length);
}
is.close();
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个程序会获取指定网址的HTML代码,然后使用正则表达式匹配其中的图片链接,并下载图片到本地。你可以根据需要修改程序来适应不同的网站和图片格式。