- 浏览: 334953 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
y_715:
document.getElementById("e ...
JSTL EC TABLE extremeTable 学习 -
wangyj0898:
学习了。。。
display table 标签用法 -
hejiajie2008:
没有图啊
图解myeclipse把maven普通java项目变成web项目的全程操作 -
zhangyu_2100:
[align=center][/align][color=br ...
request.getRealPath()的替代方法 -
senhui19:
LZ写的真不错呀,现在开发中都经常是用DetachedCrit ...
Hibernate的Criteria用法总结
1.如何获得当前文件路径
常用:
字符串类型:System.getProperty("user.dir");
综合:
package com.zcjl.test.base; import java.io.File; public class Test { public static void main(String[] args) throws Exception { System.out.println( Thread.currentThread().getContextClassLoader().getResource("")); System.out.println(Test.class.getClassLoader().getResource("")); System.out.println(ClassLoader.getSystemResource("")); System.out.println(Test.class.getResource("")); System.out.println(Test.class.getResource("/")); System.out.println(new File("").getAbsolutePath()); System.out.println(System.getProperty("user.dir")); } }
2.Web服务中
(1).Weblogic
WebApplication的系统文件根目录是你的weblogic安装所在根目录。
例如:如果你的weblogic安装在c:\bea\weblogic700.....
那么,你的文件根路径就是c:\.
所以,有两种方式能够让你访问你的服务器端的文件:
a.使用绝对路径:
比如将你的参数文件放在c:\yourconfig\yourconf.properties,
直接使用 new FileInputStream("yourconfig/yourconf.properties");
b.使用相对路径:
相对路径的根目录就是你的webapplication的根路径,即WEB-INF的上一级目录,将你的参数文件放在yourwebapp\yourconfig\yourconf.properties,
这样使用:
new FileInputStream("./yourconfig/yourconf.properties");
这两种方式均可,自己选择。
(2).Tomcat
在类中输出System.getProperty("user.dir");显示的是%Tomcat_Home%/bin
(3).Resin
不是你的JSP放的相对路径,是JSP引擎执行这个JSP编译成SERVLET
的路径为根.比如用新建文件法测试File f = new File("a.htm");
这个a.htm在resin的安装目录下
(4).如何读相对路径哪?
在Java文件中getResource或getResourceAsStream均可
例:getClass().getResourceAsStream(filePath);//filePath可以是"/filename",这里的/代表web发布根路径下WEB-INF/classes
(5).获得文件真实路径
string file_real_path=request.getRealPath("mypath/filename");
通常使用request.getRealPath("/");
3.文件操作的类
import java.io.*; import java.net.*; import java.util.*; //import javax.swing.filechooser.*; //import org.jr.swing.filter.*; /** * 此类中封装一些常用的文件操作。 * 所有方法都是静态方法,不需要生成此类的实例, * 为避免生成此类的实例,构造方法被申明为private类型的。 * @since 0.1 */ public class FileUtil { /** * 私有构造方法,防止类的实例化,因为工具类不需要实例化。 */ private FileUtil() { } /** * 修改文件的最后访问时间。 * 如果文件不存在则创建该文件。 * <b>目前这个方法的行为方式还不稳定,主要是方法有些信息输出,这些信息输出是否保留还在考 虑中。</b> * @param file 需要修改最后访问时间的文件。 * @since 0.1 */ public static void touch(File file) { long currentTime = System.currentTimeMillis(); if (!file.exists()) { System.err.println("file not found:" + file.getName()); System.err.println("Create a new file:" + file.getName()); try { if (file.createNewFile()) { // System.out.println("Succeeded!"); } else { // System.err.println("Create file failed!"); } } catch (IOException e) { // System.err.println("Create file failed!"); e.printStackTrace(); } } boolean result = file.setLastModified(currentTime); if (!result) { // System.err.println("touch failed: " + file.getName()); } } /** * 修改文件的最后访问时间。 * 如果文件不存在则创建该文件。 * <b>目前这个方法的行为方式还不稳定,主要是方法有些信息输出,这些信息输出是否保留还在考 虑中。</b> * @param fileName 需要修改最后访问时间的文件的文件名。 * @since 0.1 */ public static void touch(String fileName) { File file = new File(fileName); touch(file); } /** * 修改文件的最后访问时间。 * 如果文件不存在则创建该文件。 * <b>目前这个方法的行为方式还不稳定,主要是方法有些信息输出,这些信息输出是否保留还在考 虑中。</b> * @param files 需要修改最后访问时间的文件数组。 * @since 0.1 */ public static void touch(File[] files) { for (int i = 0; i < files.length; i++) { touch(files); } } /** * 修改文件的最后访问时间。 * 如果文件不存在则创建该文件。 * <b>目前这个方法的行为方式还不稳定,主要是方法有些信息输出,这些信息输出是否保留还在考 虑中。</b> * @param fileNames 需要修改最后访问时间的文件名数组。 * @since 0.1 */ public static void touch(String[] fileNames) { File[] files = new File[fileNames.length]; for (int i = 0; i < fileNames.length; i++) { files = new File(fileNames); } touch(files); } /** * 判断指定的文件是否存在。 * @param fileName 要判断的文件的文件名 * @return 存在时返回true,否则返回false。 * @since 0.1 */ public static boolean isFileExist(String fileName) { return new File(fileName).isFile(); } /** * 创建指定的目录。 * 如果指定的目录的父目录不存在则创建其目录书上所有需要的父目录。 * <b>注意:可能会在返回false的时候创建部分父目录。</b> * @param file 要创建的目录 * @return 完全创建成功时返回true,否则返回false。 * @since 0.1 */ public static boolean makeDirectory(File file) { File parent = file.getParentFile(); if (parent != null) { return parent.mkdirs(); } return false; } /** * 创建指定的目录。 * 如果指定的目录的父目录不存在则创建其目录书上所有需要的父目录。 * <b>注意:可能会在返回false的时候创建部分父目录。</b> * @param fileName 要创建的目录的目录名 * @return 完全创建成功时返回true,否则返回false。 * @since 0.1 */ public static boolean makeDirectory(String fileName) { File file = new File(fileName); return makeDirectory(file); } /** * 清空指定目录中的文件。 * 这个方法将尽可能删除所有的文件,但是只要有一个文件没有被删除都会返回false。 * 另外这个方法不会迭代删除,即不会删除子目录及其内容。 * @param directory 要清空的目录 * @return 目录下的所有文件都被成功删除时返回true,否则返回false. * @since 0.1 */ public static boolean emptyDirectory(File directory) { boolean result = false; File[] entries = directory.listFiles(); for (int i = 0; i < entries.length; i++) { if (!entries.delete()) { result = false; } } return true; }
文章出处:http://www.diybl.com/course/3_program/java/javashl/2007126/90696.html
发表评论
-
智力题
2010-08-27 10:56 1825A说:是B偷吃的,B说:是D偷吃的。C说;我没有偷吃。D说:B ... -
experience
2009-12-28 12:05 12041.报错信息 servlet-mapping配置的问题200 ... -
JDBC高级应用二
2009-12-28 11:33 1032JDBC高级应用(二)本来想继续谈JDBC的高级连结方式,事务 ... -
在JAVA文件中获取该项目的相对路径
2009-11-12 14:36 14501.基本概念的理解 绝对路径:绝对路径就是你的主页上的文 ... -
明明白白Unsupported major.minor version 49.0的错误
2009-10-26 17:19 1002一:要解决的问题 我们在尝鲜 JDK1.5 的时候,相信不少人 ... -
log4j详解
2009-09-02 13:04 912log4j.properties 使用 一.参数意义说明 输出 ... -
图解myeclipse把maven普通java项目变成web项目的全程操作
2009-08-05 20:06 3986图解myeclipse把maven普通java项目变成web项 ... -
浅谈java输入输出流(二)
2009-07-09 18:05 2449导读: stream代表的是任何有能力产出数据的数据源,或 ... -
浅谈java输入输出流(一)
2009-07-09 18:01 3181Java语言的输入输出功能是十分强大而灵活的,美中不足 ... -
常用Java开源库(新手必看)
2008-12-15 12:46 1800Jakarta common: Commons Logging ... -
浅谈Java内部类的四个应用场景
2008-12-15 12:44 963Java内部类是Java言语的一个很重要的概念,《Java编程 ... -
使用 HttpClient 和 HtmlParser 实现简易爬虫
2008-12-02 20:51 1461这篇文章介绍了 HtmlParse ... -
htmlparser使用指南
2008-11-28 13:10 2052转载:http://www.yeeach.com/2008/0 ... -
file的getPath getAbsolutePath和getCanonicalPath的不同
2008-09-16 09:12 1125file的这几个取得path的 ... -
JAVA使用winrar解压缩和解带有密码的压缩包的一个类
2008-09-05 13:38 2768通过使用winrar这个工具对文件进行操作。唯一 ... -
window.event的属性
2008-08-07 18:03 1674<script language="JavaS ... -
十个习惯让你精通新的开发技术(转)
2008-05-29 17:44 1080这篇文章,是从我的《 ... -
java汉字转换为拼音
2008-05-09 17:14 2089import java.util.Iterator;impor ... -
把JSP放到WEB-INF后以保护JSP源代码
2008-04-17 08:52 4685本人在看《J2EE核心模式》(“Core J2ee Patte ... -
关于VO、PO的理解-java的(PO,VO,TO,BO,DAO,POJO)解释
2008-03-30 17:00 1652O/R Mapping 是 Object Relational ...
相关推荐
### Java 文件路径获取方法详解 #### 一、引言 在Java开发中,经常会遇到需要获取文件路径的情况,尤其是在处理配置文件、图片等资源时。本文将详细介绍Java中获取文件路径的各种方法及其应用场景,帮助开发者更好...
本程序以Java为编程语言,利用文件操作来解决这个问题,实现了从输入文件读取数据并把计算结果保存到输出文件的功能。下面我们将详细讨论如何在Java中通过文件操作来解决最短路径问题。 首先,我们需要了解最短路径...
在Java编程中,处理中文路径问题是一个常见的挑战,尤其是在Windows操作系统环境下。中文字符在路径中可能会引起编码问题,导致程序无法正确读取或写入文件。这个问题主要涉及到字符编码、文件I/O操作以及系统环境的...
Java NIO(New IO)提供了非阻塞的I/O操作,可以更高效地处理文件读取: ```java Path path = Paths.get("config.properties"); Properties props = new Properties(); try (InputStream in = Files....
在Java 7及以上版本,你可以使用try-with-resources语句更优雅地处理文件读取。例如,要读取一个文件的内容: ```java try (BufferedReader reader = new BufferedReader(new FileReader(file))) { String line; ...
首先,Java提供了多种类来处理文件读取,如`FileReader`,`BufferedReader`等。`FileReader`主要用于读取字符流,而`BufferedReader`则通过缓冲区提高读取效率。在按顺序读取文件时,通常我们会先创建一个`...
这篇博客文章“关于Java文件路径问题”可能探讨了Java中处理文件路径的常见挑战和解决方案。 在Java中,文件路径可以是绝对路径或相对路径。绝对路径是从根目录开始的完整路径,它指明了文件的确切位置。相对路径则...
1. **文件读取**: - 使用`File`类创建一个代表文件对象,例如`File file = new File("path_to_file")`。 - `FileReader`用于读取字符流,`FileInputStream`用于读取字节流。通常,我们会配合`BufferedReader`来...
Java文件路径操作是Java开发中常见且重要的任务,无论是在读写文件、处理资源还是进行系统交互时,都需要对文件路径进行操作。本篇将详细探讨Java中的文件路径处理技术,主要涵盖以下知识点: 1. **File类**: ...
在处理Properties文件时,可能会遇到几个常见的问题,包括找不到指定路径、读取正常但文件数据未更新的情况。以下是对这些问题的详细解答。 首先,让我们解决“系统找不到指定路径”的问题。在Java中,加载...
如果你想要从这个Java文件读取`yyy.properties`,假设它位于`src\env`目录,那么正确的相对路径应该是`./src/env/yyy.properties`。这里,`.`代表当前目录,也就是`src\come\home\basic`,然后你向这个目录添加相对...
总结一下,处理Java中的Properties文件读写时,需要注意文件路径的准确性、文件的读写权限以及缓存问题。通过以上方法,应该能够有效解决描述中提到的问题。对于提供的"新建文本文档.txt",虽然不是Properties文件,...
- 在Java中读取文件时,可以使用相对路径或绝对路径。如果文件在`src`目录下,且你的代码在同一目录层次,可以使用相对路径。否则,可能需要使用绝对路径,或者利用类路径的特性。 5. **使用`ClassLoader`读取资源...
JAVA读取同一路径下所有类及其方法 在 Java 中,获取同一路径下所有类及其方法是非常重要的,这样才能对权限进行控制。在本文中,我们将提供一种获取所有类及其方法的方法。 获取同一路径下所有类及其方法 在开发...
在Java编程语言中,读取文件是一项常见的操作,尤其是在处理数据、日志文件或配置信息时。本文将详细解析如何使用Java读取文本文件,基于提供的代码示例,深入探讨其工作原理及最佳实践。 ### Java读取文本文件的...
在Java编程中,读取本地SQLite数据库(.db文件)是一项常见的任务,特别是在移动应用开发或者需要离线存储数据的场景下。SQLite是一种轻量级的、开源的关系型数据库,它不需要单独的服务器进程,可以直接在应用程序...
在读取网络文件时,可以使用`java.io.File`类来代表网络路径,然后通过`java.io.FileInputStream`或`java.io.FileReader`等类进行读取。 3. **权限和认证**:访问局域网共享文件可能需要用户名和密码。Java不直接...
在这个场景中,我们关注的是“java文件读写”,特别是读取`properties`配置文件和处理目录及文件的操作。下面我们将详细探讨这两个主题。 首先,`properties`配置文件是Java应用中常用的一种存储配置信息的方式。...
- 文件不存在或权限问题:确保有正确的文件路径和读写权限。 - 数据类型不匹配:检查变量数据类型是否与写入的数据一致。 - 元数据不完整:如果元数据缺失或错误,可能导致数据无法正确读取。 通过学习这些知识...