P判断服务器文件有无存在 (jsp获取服务器下的文件是否存在)

在开发Web应用程序时,服务器文件的存在性是非常重要的。在某些情况下,您需要确保文件是否存在,然后执行特定的操作。对于Java服务器页面(P)编程,我们可以使用多种方法来确定服务器文件的存在性。在本文中,我们将探讨在P中判断服务器文件是否存在的各种方法。

1. 使用P内置对象

P内置了多种对象,其中最常用的是request对象和ServletContext对象。这些对象提供了使文件判断变得更容易的方法。例如,我们可以使用ServletContext对象中的getRealPath方法来获取服务器上的文件的绝对路径。如果该文件不存在,则getRealPath方法将返回null,因此我们可以使用以下代码来确定文件是否存在:

“`

<%

String fullPath = application.getRealPath(“/path/to/file/filename.txt”);

File file = new File(fullPath);

if (file.exists()) {

out.println(“File exists!”);

} else {

out.println(“File does not exist!”);

}

%>

“`

请注意,该文件必须放在Web应用程序的根目录或Web应用程序中的某个目录中。

2. 使用Java IO类

P提供了Java IO类来在服务器上读取和写入文件。为了确定文件是否存在,我们可以使用Java IO类中的File类。该类是Java IO库中的一个实用程序类,它提供了检查文件属性的方法。以下是使用File类检查文件是否存在的示例代码:

“`

<%

String fullPath = “/path/to/file/filename.txt”;

File file = new File(fullPath);

if (file.exists()) {

out.println(“File exists!”);

} else {

out.println(“File does not exist!”);

}

%>

“`

3. 使用P标准标签库(TL)

TL是一个P标准标签库,它包含了许多可重复使用的P标签。一些TL标签可以用于检查文件是否存在。 以下是使用TL标签检查文件是否存在的示例代码:

“`

Using TL to check file existance

File exists!

File does not exist!

“`

请注意,uri“http://java.sun.com/jsp/jstl/core”即为TL的基本URI,而prefix“c”用于设置TL的命名空间。

4. 使用Java Servlet API

Java Servlet API提供了多种方法来检查文件是否存在。例如,我们可以使用Servlet API中的getResourceAsStream()方法来检查文件是否存在。以下是使用Servlet API中的getResourceAsStream()方法检查文件是否存在的示例代码:

“`

<%

String path = “/path/to/file/filename.txt”;

InputStream inputStream = application.getResourceAsStream(path);

if (inputStream != null) {

out.println(“File exists!”);

} else {

out.println(“File does not exist!”);

}

%>

“`

结论

在本文中,我们已经了解了在P中判断服务器文件是否存在的各种方法。无论您选择哪种方法,对于任何有关服务器文件的P编程,请始终牢记检查文件是否存在。

相关问题拓展阅读:

  • <a href="#P如何取得 文件路径” title=”P如何取得 文件路径”>P如何取得 文件路径

<h3 id="P如何取得 文件路径”>P如何取得 文件路径

问题补轿衫轮充:我使用strFile = request.getParameter(“file”塌誉)只能取得文件名,会发生I/O异常,提示找不到文件路径;
用new File(strFile).getAbsolutePath()得到了路径,但是得到的路径形式为:%Tomcat_dir%\bin\XX,XX为文件名 问题补充:lyyf 写道1.用request.getParameter(String str)

String fileName=request.getParameter(“fileName”)这个我试过了只能得到文件名,浏览器我用IE9、firefox 4试过都不行;我仅仅是想获得maxm 写道1.是以post方式提交的的吗
2.有无 :enctype= “multipart/form-data ”
3.可以用隐藏iframe的方式

闭信
是post提交,如果有enctype= “multipart/form-data “的话,程序就出错,运行起来没反应,我在IE6试了下,可以取得路径(不过此时我的程序能正常运行,但是有

乱码

出现) 问题补充:maxm 写道贴出异常信息

Path is:F:\apache-tomcat-6.0.29\bin\log.txt(这是我使用new File(strFile).getAbsolutePath();取得的路径)
javax.mail.MessagingException: IOException while sending message;
nested exception is:
java.io.FileNotFoundException: F:\apache-tomcat-6.0.29\bin\log.txt (系统找不到指定的文件。)
at com.sun.mail.tp.TPTransport.sendMessage(TPTransport.java:930)
at service.Mail.startSend(Mail.java:460)
at org.apache.jsp.send_jsp._jspService(send_jsp.java:178)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: F:\apache-tomcat-6.0.29\bin\log.txt (系统找不到指定的文件。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream. 文件路径方式梁纤培如下:

1.用request.getParameter(String str)

后台用String fileName=request.getParameter(“fileName”)获取,试试

2.直接获取服务器上的内容

FileItemFactory factory = new DiskFileItemFactory();

ServletFileUpload upload = new ServletFileUpload(factory);

List list = upload.parseRequest(request);

jsp获取服务器下的文件是否存在的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于jsp获取服务器下的文件是否存在,P判断服务器文件有无存在,P如何取得 文件路径的信息别忘了在本站进行查找喔。


数据运维技术 » P判断服务器文件有无存在 (jsp获取服务器下的文件是否存在)