「java提取java文件」java文件的读取

博主:adminadmin 2022-12-11 10:18:07 85

本篇文章给大家谈谈java提取java文件,以及java文件的读取对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Java读取文件的几种方法

方式一:采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来。因为是用ServletContext读取文件路径,所以配置文件可以放入在web-info的classes目录中,也可以在应用层级及web-info的目录中。文件存放位置具体在eclipse工程中的表现是:可以放在src下面,也可放在web-info及webroot下面等。因为是读取出路径后,用文件流进行读取的,所以可以读取任意的配置文件包括xml和properties。缺点:不能在servlet外面应用读取配置信息。

方式二:采用ResourceBundle类读取配置信息,

优点是:可以以完全限定类名的方式加载资源后,直接的读取出来,且可以在非Web应用中读取资源文件。缺点:只能加载类classes下面的资源文件且只能读取.properties文件。

方式三:采用ClassLoader方式进行读取配置信息

优点是:可以在非Web应用中读取配置资源信息,可以读取任意的资源文件信息

缺点:只能加载类classes下面的资源文件。

方法4 getResouceAsStream

XmlParserHandler.class.getResourceAsStream 与classloader不同

java怎么读取java工程的文件

 平时写程序的时候,很多时候提示文件找不到,而抛出了异常,现在整理如下

一 相对路径的获得

说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)

String relativelyPath=System.getProperty("user.dir");

上述相对路径中,java项目中的文件是相对于项目的根目录

web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于 tomcat安装目录\bin)

二 类加载目录的获得(即当运行时某一类时获得其装载目录)

1.1)通用的方法一(不论是一般的java项目还是web项目,先定位到能看到包路径的第一级目录)

InputStream is=TestAction.class.getClassLoader().getResourceAsStream("test.txt");

(test.txt文件的路径为 项目名\src\test.txt;类TestAction所在包的第一级目录位于src目录下)

上式中将TestAction,test.txt替换成对应成相应的类名和文件名字即可

1.2)通用方法二 (此方法和1.1中的方法类似,不同的是此方法必须以'/'开头,

InputStream is=Test1.class.getResourceAsStream("/test.txt");

(test.txt文件的路径为 项目名\src\test.txt,类Test1所在包的第一级目录位于src目录下)

三 web项目根目录的获得(发布之后)

1 从servlet出发

可建立一个servlet在其的init方法中写入如下语句

ServletContext s1=this.getServletContext();

String temp=s1.getRealPath("/"); (关键)

结果形如:D:\工具\Tomcat-6.0\webapps\002_ext\ (002_ext为项目名字)

如果是调用了s1.getRealPath("")则输出D:\工具\Tomcat-6.0\webapps\002_ext(少了一个"\")

2 从httpServletRequest出发

String cp11111=request.getSession().getServletContext().getRealPath("/");

结果形如:D:\工具\Tomcat-6.0\webapps\002_ext\

四 classpath的获取(在Eclipse中为获得src或者classes目录的路径)

方法一 Thread.currentThread().getContextClassLoader().getResource("").getPath()

eg: String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();

System.out.println("t---"+t);

输出:t---/E:/order/002_ext/WebRoot/WEB-INF/classes/

方法二 JdomParse.class.getClassLoader().getResource("").getPath() (JdomParse为src某一个包中的类,下同)

java文件名提取

java获取文件名方法有三种代码如下展示:

// 举例:

String fName =" G:\\Java_Source\\navigation_tigra_menu\\demo1\\img\\lev1_arrow.gif ";

// 方法一:

File tempFile =new File( fName.trim());

String fileName = tempFile.getName();

System.out.println("方法一:fileName = " + fileName);

// 方法二:

fName = fName.trim();

// fileName = fName.substring(fName.lastIndexOf("/")+1);

// 或者

fileName = fName.substring(fName.lastIndexOf("\\")+1);

System.out.println("方法二:fileName = " + fileName);

// 方法三:

fName = fName.trim();

String temp[] = fName.split("\\\\"); /**split里面必须是正则表达式,"\\"的作用是对字符串转义*/

//temp[] = [G:, Java_Source, navigation_tigra_menu, demo1, img, lev1_arrow.gif]

System.out.println("temp[] = " + Arrays.toString(temp));

fileName = temp[temp.length-1];

System.out.println("方法三:fileName = " + fileName);

java提取java文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java文件的读取、java提取java文件的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-11,除非注明,否则均为首码项目网原创文章,转载请注明出处。