主題代碼
package xml;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class domain {
static String username;
public static String xml() {
try {
SAXReader reader = new SAXReader();
reader.setEncoding("utf-8");
// xml文件地址
File f = new File("c://new.xml");
Document doc = reader.read(f);
// Document doc = reader.read(is);
domain j1 = new domain();
Element rootElt = doc.getRootElement(); // 獲取根節點
// System.out.println("根節點:" + rootElt.getName()); // 拿到根節點的名稱
Iterator bbbb = rootElt.elementIterator("places"); // /國家
// 遍歷bbbb節點
while (bbbb.hasNext()) {
Element recordEless = (Element) bbbb.next();
Iterator cccc = recordEless.elementIterator("places"); // 城市
while (cccc.hasNext()) {
Element itemEle = (Element) cccc.next();
Iterator dddd = itemEle.elementIterator("places");// 景點
while (dddd.hasNext()) {
Element tableItem = (Element) dddd.next();
username = tableItem.elementTextTrim("id"); // id
// System.out.println("username:" + username);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return username;
}
/**
* 將圖片寫入到磁盤
*
* @param img
* 圖片數據流
* @param fileName
* 文件保存時的名稱
*/
public static void writeImageToDisk(byte[] img, String fileName) {
try {
File file = new File("C:\\" + fileName);
FileOutputStream fops = new FileOutputStream(file);
fops.write(img);
fops.flush();
fops.close();
System.out.println("圖片已經寫入到C盤");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 根據地址獲得數據的字節流
*
* @param strUrl
* 網絡連接地址
* @return
*/
public static byte[] getImageFromNetByUrl(String strUrl) {
try {
URL url = new URL(strUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5 * 1000);
InputStream inStream = conn.getInputStream();// 通過輸入流獲取圖片數據
byte[] btImg = readInputStream(inStream);// 得到圖片的二進制數據
return btImg;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 從輸入流中獲取數據
*
* @param inStream
* 輸入流
* @return
* @throws Exception
*/
public static byte[] readInputStream(InputStream inStream) throws Exception {
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = inStream.read(buffer)) != -1) {
outStream.write(buffer, 0, len);
}
inStream.close();
return outStream.toByteArray();
}
}
測試代碼
package xml;
public class test {
public static void main(String[] args) {
domain domain = new domain();
int i;
for (i = 0; i < 10; i++) {
}
String url = "http://www.sunhotels.net/SunHotels.net/HotelInfo/hotelImage.aspx?id="
+ domain.xml();
// String url = "http://www.baidu.com/img/baidu_sylogo1.gif";
byte[] btImg = domain.getImageFromNetByUrl(url);
if (null != btImg && btImg.length > 0) {
System.out.println("讀取到:" + btImg.length + " 字節");
String fileName = domain.xml() + ".gif";
domain.writeImageToDisk(btImg, fileName);
} else {
System.out.println("沒有從該連接獲得內容");
}
}
}
代碼只用到一個dom4j.jar包,這個包在hibernate和tomcat中都有,可以自己找下,也可以衝官網下載!