java文件url
Ⅰ java中可以使用URL定位到本地的某個文件嗎
可以的,直接通過URL類實現即可。
舉例:URL fileUrl = new URL("file:///E:/tmp/test.txt");
備註:引入的是「java.net.URL「類。
Ⅱ 如何用java程序實現上傳文件到指定的URL地址
參考代碼如下:
import java.io.*;
/**
* 復制文件夾或文件夾
*/
public class CopyDirectory {
// 源文件夾
static String url1 = "f:/photos";
// 目標文件夾
static String url2 = "d:/tempPhotos";
public static void main(String args[]) throws IOException {
// 創建目標文件夾
(new File(url2)).mkdirs();
// 獲取源文件夾當前下的文件或目錄
File[] file = (new File(url1)).listFiles();
for (int i = 0; i < file.length; i++) {
if (file[i].isFile()) {
// 復制文件
File(file[i],new File(url2+file[i].getName()));
}
if (file[i].isDirectory()) {
// 復制目錄
String sourceDir=url1+File.separator+file[i].getName();
String targetDir=url2+File.separator+file[i].getName();
Directiory(sourceDir, targetDir);
}
}
}
// 復制文件
public static void File(File sourceFile,File targetFile)
throws IOException{
// 新建文件輸入流並對它進行緩沖
FileInputStream input = new FileInputStream(sourceFile);
BufferedInputStream inBuff=new BufferedInputStream(input);
// 新建文件輸出流並對它進行緩沖
FileOutputStream output = new FileOutputStream(targetFile);
BufferedOutputStream outBuff=new BufferedOutputStream(output);
// 緩沖數組
byte[] b = new byte[1024 * 5];
int len;
while ((len =inBuff.read(b)) != -1) {
outBuff.write(b, 0, len);
}
// 刷新此緩沖的輸出流
outBuff.flush();
//關閉流
inBuff.close();
outBuff.close();
output.close();
input.close();
}
// 復制文件夾
public static void Directiory(String sourceDir, String targetDir)
throws IOException {
// 新建目標目錄
(new File(targetDir)).mkdirs();
// 獲取源文件夾當前下的文件或目錄
File[] file = (new File(sourceDir)).listFiles();
for (int i = 0; i < file.length; i++) {
if (file[i].isFile()) {
// 源文件
File sourceFile=file[i];
// 目標文件
File targetFile=new
File(new File(targetDir).getAbsolutePath()
+File.separator+file[i].getName());
File(sourceFile,targetFile);
}
if (file[i].isDirectory()) {
// 准備復制的源文件夾
String dir1=sourceDir + "/" + file[i].getName();
// 准備復制的目標文件夾
String dir2=targetDir + "/"+ file[i].getName();
Directiory(dir1, dir2);
}
}
}
}
Ⅲ 怎樣在java里用URL引入圖片
讀取圖片可以有以下兩種方法:x0dx0a①:ImageIO.read(new File("這里可以寫目錄,比如您提到的src/images/某張圖片名"));x0dx0a②:new ImageIcon("目錄").getImage();x0dx0a這兩個方法都返回一個圖片對象。可以用一個Image對象接收一下。x0dx0ax0dx0a相對路徑是指您所運行的程序的包 所在的文件夾開始的路徑。x0dx0a一般來說,上面兩種讀取方法讀取時,是從項目的目錄下開始找文件的。x0dx0a所以,您把圖片放在src下的images包中,正確的讀取方法應該是:x0dx0aImage img=ImageIO.read(new File("src/images/圖片名"));或者x0dx0aImage img=new ImageIcon("src/images/圖片名").getImage();x0dx0a得到這樣一個Image對象後,就可以使用了。
Ⅳ java 讀取遠程url文件
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
/**
* @author lmq
*
*/
public class RemoteFile {
public static void main(String[] args) throws Exception {
File remoteFile = new File("//192.168.7.146/test/1.txt");// 192.168.7.146是對方機器IP,test是對方那個共享文件夾名字,如果沒有共享是訪問不到的
//遠程文件其實主要是地址,地址弄對了就和本地文件沒什麼區別 ,windows裡面//或者\\\\開頭就表示這個文件是網路路徑了其實這個地址就像我們再windows裡面,點擊開始
//然後點擊運行,然後輸入 \\192.168.7.146/test/1.txt訪問遠程文件一樣的
BufferedReader br = new BufferedReader(new FileReader(remoteFile));
String str;
while ((str = br.readLine()) != null) {
System.out.println(str);
}
br.close();
}
}
Ⅳ 求用java得到URL相應源文件的方法
Java可以通過鏈接的mime類型來判斷源文件的類型,從而得到源文件內容,示例如下:
URLConnection提供了兩種方法可以猜測(根據實測結果,這個猜測是相當的准)數據的MIME類型。
第一個是:
(Stringname)
這個方法根據URL文件部分的後綴名來判斷類型,跟之前我的方法一樣。這個不能解決上面那個問題。
第二個是:(InputStreamin)
這個方法是根據流的前面幾個位元組來判斷類型,這個就不需要文件後綴名了,完全可以解決上面那個問題。
測試代碼如下:BufferedInputStreambis=null;=null;URLurl=null;url=newURL(strUrl);urlconnection=(HttpURLConnection)url.openConnection();urlconnection.connect();bis=newBufferedInputStream(urlconnection.getInputStream());System.out.println("filetype:"+HttpURLConnection.guessContentTypeFromStream(bis));
Ⅵ java中文件的路徑怎麼寫 url1=new URL("file:/C:/Users/akalin/Desktop/2.gif"); 這行出現了錯誤
不清楚你這么做的目的是什麼
如果想要讀取文件 應該是 File f = new File("C:/Users/akalin/Desktop/2.gif");
這樣就獲取到了它的文件對象。然後根據功能創建不同的輸入輸出流可以進行讀寫文件的操作。
URL是統一資源定位符,一般用於訪問網路上的靜態資源,或者網路上的介面,URL url =new URL("介面路徑");
Ⅶ java文件url怎麼取文件內容
是遠程的? java.net.HttpURLConnection 來獲取
~
~
~
~
Ⅷ java獲取伺服器文件,怎樣用url返回
下面提供二種方法會使用java發送url請求,並獲取伺服器返回的值
第一種方法:
代碼如下:
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.CoreConnectionPNames;
import org.apache.http.util.EntityUtils;
(StringurlStr,Stringparam1,Stringparam2)throwsException{
StringtempStr=null;
HttpClienthttpclient=newDefaultHttpClient();
Propertiesproperties=newProperties();
HttpEntityentity=null;
StringxmlContent="";
try
{
//設置超時時間
httpclient.getParams().setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,20000);
httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,20000);
//封裝需要傳遞的參數
List<NameValuePair>nvps=newArrayList<NameValuePair>();
nvps.add(newBasicNameValuePair("mainMemoCode",strmainMemoCode));
nvps.add(newBasicNameValuePair("recordPassWord",strrecordPassWord));
//客戶端的請求方法類型
HttpPosthttpPost=newHttpPost(urlStr);
httpPost.setEntity(newUrlEncodedFormEntity(nvps,"GBK"));
HttpResponseresponse=httpclient.execute(httpPost);
//獲取伺服器返回Http的Content-Type的值
tempStr=response.getHeaders("Content-Type")[0].getValue().toString();
//獲取伺服器返回頁面的值
entity=response.getEntity();
xmlContent=EntityUtils.toString(entity);
Stringstrmessage=null;
System.out.println(xmlContent);
System.out.println(response.getHeaders("Content-Type")[0].getValue().toString());
httpPost.abort();
}
catch(SocketTimeoutExceptione)
{
}
catch(Exceptionex)
{
ex.printStackTrace();
}
finally{
httpclient.getConnectionManager().shutdown();
}
第二種方法:
代碼如下:
(StringurlStr,Stringparam1,Stringparam2)throwsException{
HttpURLConnectionurl_con=null;
try{
URLurl=newURL(urlStr);
StringBufferbankXmlBuffer=newStringBuffer();
//創建URL連接,提交到數據,獲取返回結果
HttpURLConnectionconnection=(HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setRequestProperty("User-Agent","directclient");
PrintWriterout=newPrintWriter(newOutputStreamWriter(connection.getOutputStream(),"GBK"));
out.println(param);
out.close();
BufferedReaderin=newBufferedReader(newInputStreamReader(connection
.getInputStream(),"GBK"));
StringinputLine;
while((inputLine=in.readLine())!=null){
bankXmlBuffer.append(inputLine);
}
in.close();
tempStr=bankXmlBuffer.toString();
}
catch(Exceptione)
{
System.out.println("發送GET請求出現異常!"+e);
e.printStackTrace();
}finally{
if(url_con!=null)
url_con.disconnect();
}
returntmpeStr;
}
總結:多練習代碼,熟練之後才能更快速的去了解代碼的學習的方法。多去獲取一些思維方面的書籍可以看看。
Ⅸ 用Java判斷一個URL是否有效的兩種方法
import java.io.InputStream;
import java.net.URL;
public class Test {
public static void main(String[] args) {
URL url;
try {
url = new URL("http://www..com");
InputStream in = url.openStream();
System.out.println("連接可用");
} catch (Exception e1) {
System.out.println("連接打不開!");
url = null;
}
}
}
2
import java.net.HttpURLConnection;
import java.net.URL;
/**
* 文件名稱為:URLAvailability.java
* 文件功能簡述: 描述一個URL地址是否有效
* @author Jason
* @time 2010-9-14
*
*/
public class URLAvailability {
private static URL url;
private static HttpURLConnection con;
private static int state = -1;
/**
* 功能:檢測當前URL是否可連接或是否有效,
* 描述:最多連接網路 5 次, 如果 5 次都不成功,視為該地址不可用
* @param urlStr 指定URL網路地址
* @return URL
*/
public synchronized URL isConnect(String urlStr) {
int counts = 0;
if (urlStr == null || urlStr.length() <= 0) {
return null;
}
while (counts < 5) {
try {
url = new URL(urlStr);
con = (HttpURLConnection) url.openConnection();
state = con.getResponseCode();
System.out.println(counts +"= "+state);
if (state == 200) {
System.out.println("URL可用!");
}
break;
}catch (Exception ex) {
counts++;
System.out.println("URL不可用,連接第 "+counts+" 次");
urlStr = null;
continue;
}
}
return url;
}
public static void main(String[] args) {
URLAvailability u=new URLAvailability();
u.isConnect("http://www..com");
}
}