`
wandejun1012
  • 浏览: 2738161 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java读文件 路径不对

    博客分类:
  • java
 
阅读更多

我做的是ssh,但是在servlet中如果要去读文件,和在jsp中识别文件的路径不太一样。

 

我就是在servlet中读文件的,然后一直说路径不对。

 

后来终于在我老大的帮助下,他发给了我一个极其强悍的语句如下:

 

 

this.getClass().getClassLoader().getResource("/").getPath()+"conf/ftpconfig.properties"

  或者用静态的类名:

 

UrgentFileUtil.class.getClassLoader().getResource("/").getPath()+"conf/ftpconfig.properties"

这句话在console打印一下,可以看到它的完整路径,是包括磁盘路径的。

打印出来如下:

 

/D:/workspace/yc/njpatientcare/huishan/WEB-INF/classes/conf/ftpconfig.properties
 

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

 

假设上面是真理的话,那下面的测试,让我大跌眼镜:

 

package sh.bs.home.testSpace;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;

public class testSpacePath {

	public static void main(String[] args) {
		new testSpacePath().readFile();
	}
	
	
	/**
	 * getResource, 不用classLoader
	 */
	public  void readFile(){
		
		try{
//			String test=testSpacePath.class.getResource("").toString();
			//only getResource
			String test=testSpacePath.class.getResource("").getPath();			
			System.out.println("only getResource="+test);
			
			//getResource_classLoader_nullString
			String getResource_classLoader_nullString=testSpacePath.class.getClassLoader().getResource("").getPath();
			System.out.println("getResource_classLoader_nullString="+getResource_classLoader_nullString);
			
			
			
			
			String getResource_classLoader_rootDir=testSpacePath.class.getClassLoader().getResource("/").getPath();
			System.out.println("getResource_classLoader_rootDir="+getResource_classLoader_rootDir);
			
			
			
			
			String testtext=test+"1.txt";
			testtext = java.net.URLDecoder.decode(testtext, "UTF-8");
			
			BufferedReader br = new BufferedReader(
					new InputStreamReader(new FileInputStream(testtext)));
			
			System.out.println("value="+br.readLine());
			
		}catch(Exception ex){
			ex.printStackTrace();
		}
		
	}
	
	
}
 

 

 

我一共试了三个方法,偏偏我们老大给的强悍的方法通不过。

 

所以这种关于路径的东西,还是多试试吧。

 

路径的原理就是根据编译过后的class路径去获得文件的路径。

 

 

 

 

一般常用的路径收集如下:

 

//		System.out.println(System.getProperty("user.dir"));//important
		
//		System.out.println(Thread.currentThread().getContextClassLoader().getResource(""));
//		System.out.println(FTPFileUtil.class.getResource(""));  
//		System.out.println(FTPFileUtil.class.getResource("/"));

 参考URL:http://laorer.iteye.com/blog/118088

http://topic.csdn.net/u/20110813/10/47635c98-e3f3-4b39-bf9d-79081c1f55f4.html

分享到:
评论

相关推荐

    java文件路径获取

    ### Java 文件路径获取方法详解 #### 一、引言 在Java开发中,经常会遇到需要获取文件路径的情况,尤其是在处理配置文件、图片等资源时。本文将详细介绍Java中获取文件路径的各种方法及其应用场景,帮助开发者更好...

    java读取配置文件

    在Java编程中,读取配置文件是常见的任务,特别是在开发需要灵活配置的系统时。配置文件通常用于存储应用程序的设置,如数据库连接信息、服务器端口、第三方服务的API密钥等,这些信息可能需要根据不同的环境或需求...

    用java通过文件操作实现最短路径问题

    1. **读取输入文件**:使用`BufferedReader`或`Scanner`类读取文件内容。文件可能包含图的节点信息和边的权重,例如,每行描述一个边,格式可能是"节点A 节点B 权重"。读取这些信息后,构建图的数据结构,如邻接矩阵...

    Java 解决中文路径问题

    - 在Windows系统中,可以修改系统的区域和语言设置,确保文件路径的默认编码与Java期望的编码一致。 6. 第三方库支持: - 使用第三方库,如Apache Commons IO或Google的Guava,它们提供了一些工具类来帮助处理...

    JAVA读取同一路径下所有类及其方法

    JAVA读取同一路径下所有类及其方法 在 Java 中,获取同一路径下所有类及其方法是非常重要的,这样才能对权限进行控制。在本文中,我们将提供一种获取所有类及其方法的方法。 获取同一路径下所有类及其方法 在开发...

    java中读取目录下指定的文件

    你可以通过传递文件路径给`File`类的构造器来创建一个`File`对象。 ```java import java.io.File; public class FileReading { public static void main(String[] args) { // 创建一个File对象,表示目录路径 ...

    java文件路径操作详细(转载)

    Java文件路径操作是Java开发中常见且重要的任务,无论是在读写文件、处理资源还是进行系统交互时,都需要对文件路径进行操作。本篇将详细探讨Java中的文件路径处理技术,主要涵盖以下知识点: 1. **File类**: ...

    java读取项目中的文件(src目录下)

    - 在Java中读取文件时,可以使用相对路径或绝对路径。如果文件在`src`目录下,且你的代码在同一目录层次,可以使用相对路径。否则,可能需要使用绝对路径,或者利用类路径的特性。 5. **使用`ClassLoader`读取资源...

    java如何读取文件

    在Java编程语言中,读取文件是一项常见的操作,尤其是在处理数据、日志文件或配置信息时。本文将详细解析如何使用Java读取文本文件,基于提供的代码示例,深入探讨其工作原理及最佳实践。 ### Java读取文本文件的...

    JAVA中如何得到文件路径.pdf

    ### JAVA中如何获取文件路径详解 #### 一、概述 在Java编程中,获取文件路径是一项基础而重要的技能。无论是处理本地文件还是部署在Web容器中的应用,了解如何正确地获取文件路径对于程序的正常运行至关重要。本文...

    java 读取FTP服务器文件

    7. **读取文件**: 使用`retrieveFileStream()`或`retrieveFile()`方法下载文件。通常,我们使用`BufferedReader`来读取文本文件。 ```java FileOutputStream fos = new FileOutputStream("localfile.txt"); ftp...

    详解Java无需解压直接读取Zip文件和文件内容

    最后,我们使用BufferedReader类来读取文件内容,并将其打印出来。 使用Java读取Zip文件和文件内容非常简单。我们只需要使用java.util.zip包中的类和方法,就可以轻松地读取Zip文件和文件内容。

    java读取mpp文件

    // 创建一个MPPReader对象,指定要读取的MPP文件路径 MPPReader reader = new MPPReader(new File("path_to_your_mpp_file.mpp")); // 读取文件版本信息 FileVersion fileVersion = reader.getFileVersion(); ...

    java读取本地.db文件实例

    在Java编程中,读取本地SQLite数据库(.db文件)是一项常见的任务,特别是在移动应用开发或者需要离线存储数据的场景下。SQLite是一种轻量级的、开源的关系型数据库,它不需要单独的服务器进程,可以直接在应用程序...

    java 按顺序读取文件

    在Java编程语言中,按顺序读取文件是基础且重要的操作。这通常涉及到使用I/O流(Input/Output Stream)来处理文件数据。本篇文章将深入探讨如何在Java中实现按顺序读取文件,以及涉及的相关知识点。 首先,Java提供...

    java下载文件到指定路径(不打开窗口)

    ### Java下载文件到指定路径(不打开窗口) #### 概述 本文档主要介绍如何使用Java编程语言实现从网络上下载文件并将其保存至本地指定路径的功能,且在执行过程中不会弹出任何用户界面窗口。这种方法非常适合后台...

    关于Java文件路径问题

    在Java编程中,文件路径处理是一项基础且重要的任务。它涉及到读取、写入和操作文件,而正确理解和使用文件路径是确保程序能够正确运行的关键。这篇博客文章“关于Java文件路径问题”可能探讨了Java中处理文件路径的...

    Java文件路径详解

    Java 文件路径详解 Java 文件路径详解是一种在 Java 中获取文件路径的方式。它可以将文件路径转换为 InputStream,以便于读取文件的内容。在 Java 中,有两种方式可以获取文件路径,即使用 Class....

    java读取TXT文件入库

    首先,我们需要创建一个`FileReader`对象,指定要读取的TXT文件路径,然后通过`FileReader`创建`BufferedReader`对象。 - 使用`BufferedReader`的`readLine()`方法,可以逐行读取TXT文件的内容。这个方法会返回文件...

    java读取xps文件

    - 创建 `GhostscriptConverter` 对象,设置输入和输出文件路径,然后调用 `convert()` 方法将 XPS 转换为 PDF。 - 使用 Ghost4J 提供的 PDF 处理功能读取 PDF 内容。 5. **代码示例** - 使用 Apache POI: ```...

Global site tag (gtag.js) - Google Analytics