javaurl獲取圖片
A. 怎樣在java里用URL引入圖片引入圖片
URL對象中前而幾個方法都非常容易理解,而該對象提供的openStream()可以讀取該 URL資源的InputStream,通過該方法可以非常方便地讀取遠程資源。
下面的程序示範如何通過URL類讀取遠程資源:
1)只顯示網路圖片
1)只顯示網路圖片
引用圖片處理的java類:
packagejun.king.urlgetimage;
importjava.io.InputStream;
importjava.net.URL;
importandroid.app.Activity;
importandroid.graphics.Bitmap;
importandroid.graphics.BitmapFactory;
importandroid.os.Bundle;
importandroid.os.Handler;
importandroid.os.Message;
importandroid.view.Menu;
importandroid.view.MenuItem;
importandroid.widget.ImageView;
{
Bitmapbitmap;
ImageViewimageview;
Handlerhandler=newHandler(){
@Override
publicvoidhandleMessage(Messagemsg){
if(msg.what==0x9527){
//顯示從網上下載的圖片
imageview.setImageBitmap(bitmap);
}
}
};
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageview=(ImageView)findViewById(R.id.imageView1);
//創建並啟動一個新線程用於從網路上下載圖片
newThread(){
@Override
publicvoidrun(){
try{
//創建一個url對象
URLurl=newURL("http://www..com/img/bdlogo.png");
//打開URL對應的資源輸入流
InputStreamis=url.openStream();
//從InputStream流中解析出圖片
bitmap=BitmapFactory.decodeStream(is);
//imageview.setImageBitmap(bitmap);
//發送消息,通知UI組件顯示圖片
handler.sendEmptyMessage(0x9527);
//關閉輸入流
is.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}.start();
}
@Override
(Menumenu){
//Inflatethemenu;.
getMenuInflater().inflate(R.menu.main,menu);
returntrue;
}
@Override
(MenuItemitem){
//Handleactionbaritemclickshere.Theactionbarwill
///Upbutton,solong
//.xml.
intid=item.getItemId();
if(id==R.id.action_settings){
returntrue;
}
returnsuper.onOptionsItemSelected(item);
}
}
B. Java中獲取圖片所在的URL
??? 的地方 要換成實際的文件路徑——按URL寫法,如/image/abc.jpg
C. java 訪問url獲取圖片
private static final String imgDir="C:/Program Files/Tencent/TM2009/Users/273367058/FileRecv";//這里填上圖片目錄全名就行了
static{
try{
File dir = new File(imgDir);
File[] imgFiles = dir.listFiles(new FilenameFilter(){
public boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".jpg");
}
});
D. Java 利用 URL怎麼得到網頁里的圖片
是網頁里的,還是java程序里的,說清楚
jsp里的 src 有相對路徑和絕對路徑,你看看
程序里的,new個url類得到圖片路徑
E. java用url獲取圖片的地址總是出錯
地址寫完整試試,比如E://jAVA/Test1/src/test_awt/Test1.java
F. java爬蟲讀取某一張指定圖片的url,求解答
package pers.jiaming.download.main;import java.io.*; //io包import java.util.regex.*; //正則包import java.net.*; //網路包/** 下載圖片類* */public final class DownloadPictures implements Runnable{
private URL url = null; //URL private URLConnection urlConn = null; //url連接 private BufferedReader bufIn = null; //緩沖讀取器,讀取網頁信息
private static final String IMG_REG = "<img.*src\\s*=\\s*(.*?)[^>]*?>"; //img標簽正則 private static final String IMG_SRC_REG = "src\\s*=\\s*\"?(.*?)(\"|>|\\s+)"; //img src屬性正則
private String downloadPath = null; //保存路徑
//構造,參數:想要下載圖片的網址、下載到的圖片存放的文件路徑 public DownloadPictures(String urlStr, String downloadPath)
{
createFolder(downloadPath); //創建文件夾
try {
url = new URL(urlStr);
urlConn = url.openConnection();
//設置請求屬性,有部分網站不加這句話會拋出IOException: Server returned HTTP response code: 403 for URL異常 //如:b站 urlConn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
bufIn = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
}
catch (Exception e) {
e.printStackTrace();
}
this.downloadPath = downloadPath;
}
//檢測路徑是否存在,不存在則創建 private void createFolder(String path)
{
File myPath = new File(path);
if (!myPath.exists()) //不存在則創建文件夾 myPath.mkdirs();
}
//下載函數 public void Download()
{
final int N = 20; //每一次處理的文本行數,這個數越小越容易遺漏圖片鏈接,越大效率越低 (理論上)
String line = "";
String text = "";
while (line != null) //網頁內容被讀完時結束循環 {
for(int i = 0; i < N; i++) //讀取N行網頁信息存入到text當中,因為src內容可能分為多行,所以使用這種方法 try {
line = bufIn.readLine(); //從網頁信息中獲取一行文本
if(line != null) //判斷防止把null也累加到text中 text += line;
}
catch (IOException e) {
e.printStackTrace();
}
//將img標簽正則封裝對象再調用matcher方法獲取一個Matcher對象 final Matcher imgM = Pattern.compile(IMG_REG).matcher(text);
if(!imgM.find()) //如果在當前text中沒有找到img標簽則結束本次循環 continue;
//將img src正則封裝對象再調用matcher方法獲取一個Matcher對象 //用於匹配的文本為找到的整個img標簽 final Matcher imgSrcM = Pattern.compile(IMG_SRC_REG).matcher(imgM.group());
while (imgSrcM.find()) //從img標簽中查找src內容 {
String imageLink = imgSrcM.group(1); //從正則中的第一個組中得到圖片鏈接
print(imageLink); //列印一遍鏈接
//如果得到的src內容沒有寫協議,則添加上// if(!imageLink.matches("https://[\\s\\S]*")) //這里有問題// imageLink = "https://" + imageLink;
print(imageLink); //列印一遍鏈接
try
{
//緩沖輸入流對象,用於讀取圖片鏈接的圖片數據 //在鏈接的圖片不存在時會拋出未找到文件異常 final BufferedInputStream in = new BufferedInputStream(new URL(imageLink).openStream());
//文件輸出流對象用於將從url中讀取到的圖片數據寫入到本地 //保存的路徑為downloadPath,保存的圖片名為時間戳+".png" final FileOutputStream file = new FileOutputStream(new File(downloadPath + System.currentTimeMillis() + ".png"));
int temp; //用於保存in從圖片連接中獲取到的數據 while ((temp = in.read()) != -1)
file.write(temp); //將數據寫入到本地路徑中
//關閉流 file.close();
in.close();
//下載完一張圖片後休息一會 try {
Thread.sleep(800);
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
//將text中的文本清空 text = "";
}
}
//run @Override
public void run()
{
Download(); //下載函數 }
//列印語句 public void print(Object obj)
{
System.out.println(obj);
}}
G. Java 根據url獲取圖片高和寬
String imageUrl="http://avatar.csdn.net/9/F/2/1_5iasp.jpg";
BufferedImage image=getBufferedImage(imageUrl);
if (image!=null)
{
System.out.println("圖片高度:"+image.getHeight());
System.out.println("圖片寬度:"+image.getWidth());
}
else
{
System.out.println("圖片不存在!");
}
H. 怎樣在java里用URL引入圖片
讀取圖片可以有以下兩種方法:
①:ImageIO.read(new File("這里可以寫目錄,比如您提到的src/images/某張圖片名"));
②:new ImageIcon("目錄").getImage();
這兩個方法都返回一個圖片對象。可以用一個Image對象接收一下。
相對路徑是指您所運行的程序的包 所在的文件夾開始的路徑。
一般來說,上面兩種讀取方法讀取時,是從項目的目錄下開始找文件的。
所以,您把圖片放在src下的images包中,正確的讀取方法應該是:
Image img=ImageIO.read(new File("src/images/圖片名"));或者
Image img=new ImageIcon("src/images/圖片名").getImage();
得到這樣一個Image對象後,就可以使用了。
I. 如何用java接受url上的圖片
資料庫傳的確URL..然後在頁面上直接用URL就行了,不過路徑不能錯!
J. Java中怎麼抓取網頁中的圖片
通過httpclient來爬取網站內容,分析當前內容頁中的圖片『規則』
抓取一般都是模擬瀏覽器訪問目標網頁,通過返回的頁面html代碼進行分析自己需要的數據
查找規則,例如你爬取的網頁 ,看到當前頁面顯示的圖片格式如下<img src="http://www..com/img/20101025_user.png">
通過解析爬取的網頁源代碼(html)進行字元串的操作即可,現在有相應的第三方jar包可以幫你更快的完成這部分工作,例如htmlpaser,獲取到對應的地址,然後進行保存或下載。
你可以搜索,java爬蟲(httpclient)和htmlpaser做更多的了解。