首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用文件的URL检查远程服务器上是否存在该文件

使用文件的URL检查远程服务器上是否存在该文件
EN

Stack Overflow用户
提问于 2011-01-05 01:18:05
回答 5查看 77K关注 0票数 63

如果文件存在于具有URL的远程服务器(由HTTP提供)上,我如何检入Java?我不想下载这个文件,只想检查它是否存在。

EN

回答 5

Stack Overflow用户

发布于 2011-01-05 01:20:57

代码语言:javascript
复制
public static boolean exists(String URLName){
    try {
      HttpURLConnection.setFollowRedirects(false);
      // note : you may also need
      //        HttpURLConnection.setInstanceFollowRedirects(false)
      HttpURLConnection con =
         (HttpURLConnection) new URL(URLName).openConnection();
      con.setRequestMethod("HEAD");
      return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
    }
    catch (Exception e) {
       e.printStackTrace();
       return false;
    }
  }  

Checking if a URL exists or not

票数 16
EN

Stack Overflow用户

发布于 2015-11-03 17:56:20

看看这个,它对我很有效。来源网址:Check if URL exists or not on Server

代码语言:javascript
复制
public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);     

    String customURL = "http://www.desicomments.com/dc3/08/273858/273858.jpg";

    MyTask task = new MyTask();
    task.execute(customURL);
}


private class MyTask extends AsyncTask<String, Void, Boolean> {

    @Override
    protected void onPreExecute() {

    }

    @Override
    protected Boolean doInBackground(String... params) {

         try {
                HttpURLConnection.setFollowRedirects(false);
                HttpURLConnection con =  (HttpURLConnection) new URL(params[0]).openConnection();
                con.setRequestMethod("HEAD");
                System.out.println(con.getResponseCode()); 
                return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
            }
            catch (Exception e) {   
                e.printStackTrace();    
                return false;
            }
    }

    @Override
    protected void onPostExecute(Boolean result) {
        boolean bResponse = result;
         if (bResponse==true)
            {
                Toast.makeText(MainActivity.this, "File exists!", Toast.LENGTH_SHORT).show();      
            }
            else
            {           
                Toast.makeText(MainActivity.this, "File does not exist!", Toast.LENGTH_SHORT).show();
            }                  
    }           
}
}
票数 5
EN

Stack Overflow用户

发布于 2011-01-05 01:20:04

假设文件是通过http提供的,您可以向URL发送HEAD请求,并检查返回的http响应码。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4596447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档