JSP中怎样判断一个已知url的文件是否存在?急!

li_yadan 2002-03-20 10:44:52
具体情况是:
if(url 存在)
{
直接给出url链接;
}
else
{
读取数据库中存储的文件内容;
在web服务端生成相应url的文件;
给出url链接;
}

我想知道 怎么判断url 的文件已经存在?
通过读取http头信息能做到吗?
...全文
336 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zlq 2002-03-20
上面"<TITLE>404 Not Found</TITLE>"根据SERVER的出错信息而定.
回复
zlq 2002-03-20
URL url;
InputStream iss;
int i;
long lSize;
byte[] byteArr;
String ss;
try
{
url = new URL("http://htgzln059.htgz.com/qms/test/getTime.jsp");
iss = url.openStream();
byteArr = new byte[5000];

iss.read(byteArr,0,5000);
ss = new String(byteArr);
if(ss.indexOf("<TITLE>404 Not Found</TITLE>")>=0)
System.out.println ("not found");

}catch(Exception e)
{
System.out.println (e.toString());
}
回复
li_yadan 2002-03-20
怎么在 那个if语句中写啊?

或者怎么让程序去得到返回的信息?
回复
cosmo 2002-03-20
connect to the server,
HEAD the document, if no error message, the document exists
回复
skyyoung 2002-03-20
Check if a page exists
[JDK1.1] import java.net.*;
import java.io.*;
import java.net.*;

public class Check {

public static void main(String s[]) {
System.out.println(exists("http://www.csdn.net/index.html"));
System.out.println(exists("http://www.csdn.com/pagenotfound.html"));
}

static boolean exists(String URLName){
try {
HttpURLConnection.setFollowRedirects(false);
HttpURLConnection con =
(HttpURLConnection) new URL(URLName).openConnection();
con.setRequestMethod("HEAD");
return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
}
catch (Exception e) {
e.printStackTrace();
return false;
}
}
}

回复
zlq 2002-03-20
不会.因为你这个是HTTP协议,刚才我说那个是FILE协议.

url=new URL("http://localhost:8080/***/xyz.doc")
处理方法和上面例子同理.
回复
li_yadan 2002-03-20
那url=new URL("http://localhost:8080/***/xyz.doc")
也可以抛出异常吗?
回复
zlq 2002-03-20
url = new URL("file:///c://autoexec.bat");
找不到会:
java.io.FileNotFoundException
回复
li_yadan 2002-03-20
谢谢!
我把URL转换成物理路径,在程序中判断那个路径的文件存不存在是不是也可以?
呵呵
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告