JAVA获取文件的几种常用方式

1、user.dir

System.out.println(System.getProperty("user.dir"));

此方获取的是运行的路

比如

1、

2、如果在eclipse上运行则是eclipse运行文件同级

3、tomcat则在

4、File file = new File("log4j.properties");

这里的log4j.properties也是在以上类型的目录下查找

5、FileInputStreaminput = newFileInputStream("log4j.properties");

与File一样,在运行路径上找文件

2、获取绝对路径

方法 String in = LogUtil.class.getResource("/").getPath();

或者:this.getClass().getClassLoader().getResource("/").getPath()

结果:

/E:/temp/springmvc/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/rentBook/WEB-INF/classes/

LogUtil.class.getResource("/").getPath(); 加个”/”就会打印classes下的绝对路径

LogUtil.class.getResource("").getPath(); 就会显示classes + 包名

Tomcat打印如下:

WEB工程

this.getServletContext().getRealPath("/")

返回:

工程的绝对路径/返回的也称为“根”

比如工程:

Book

|_WEB-INF

|_xx.properties

返回d:\Book\

3、相对路径:

InputStream input = LogUtil.class.getResourceAsStream("/log4j.properties");

读取的是src/log4j.properties 下的文件

InputStream input = LogUtil.class.getResourceAsStream("log4j.properties");

读取的是 与LogUtil同级的log4j.properties

第二种:

getServletConfig().getServletContext()  
                .getResourceAsStream("report1.jasper")

访问的是根路径

Book

|_WEB-INF

|_xx.properties

|_report1.jasper

时间: 2024-08-01 00:17:28

JAVA获取文件的几种常用方式的相关文章

C++ 中用cin方式获取输入的几种常用方式

一.前言 在C++程序的编写过程中,可能会经常用到cin方式用来捕获输入设备的输入信息.细分的话,主要的方式有:cin>>.cin.get.cin.getline.在借助键盘等字符输入设备进行输入的时候,如果键入Enter(\r)才会把目标字符输入到缓存区,,键入的'\r'会被转换成一个'\n',这个换行符同样也会被输入到缓存区,当做一个键入字符来处理. 参考资料:https://blog.csdn.net/k346k346/article/details/48213811 二.测试环境 Wi

python里读写excel等数据文件的几种常用方式

python处理数据文件第一步是要读取数据,文件类型主要包括文本文件(csv.txt等).excel文件.数据库文件.api等. 下面整理下python有哪些方式可以读取数据文件. 1. python内置方法(read.readline.readlines) read() : 一次性读取整个文件内容.推荐使用read(size)方法,size越大运行时间越长 readline() :每次读取一行内容.内存不够时使用,一般不太用 readlines() :一次性读取整个文件内容,并按行返回到lis

【方法整理】Oracle 获取trace跟踪文件名的几种常用方式

[方法整理]Oracle 获取trace跟踪文件名的几种常用方式 1  BLOG文档结构图     2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① trace跟踪文件的获取   Tips: ① 本文在itpub(http://blog.itpub.net/26736162).博客园(http://www.cnblogs.com/lhrbest)和微信公众号(xiaomaimiaolhr)有同

Windows校验文件哈希hash的两种常用方式

大家经常都到哪儿去下载软件和应用程序呢?有没想过下载回来的软件.应用程序或资源是否安全呢?在 Windows 10 和 Office 2016 发布当初,很多没权限的朋友都使用第三方网站去下载安装映像.而大家如何保证自己下载回来的映像或软件就是官方版本,而没有被别人篡改过呢? 很多朋友会想到将下载回来的资源校验 MD5 或 SHA1 与官方版哈希值进行对比,如果无误则表示未被篡改.大家平常在 Windows 中都使用何种工具算校验值呢?本文向大家推荐 Windows 校验文件哈希的两种常用方式.

jsp和java获取文件或路径

1.如何获得当前文件路径常用:(1).Test.class.getResource("")得到的是当前类FileTest.class文件的URI目录.不包括自己!(2).Test.class.getResource("/")得到的是当前的classpath的绝对URI路径.(3).Thread.currentThread().getContextClassLoader().getResource("")得到的也是当前ClassPath的绝对URI

java线程池和五种常用线程池的策略使用与解析

java线程池和五种常用线程池策略使用与解析 一.线程池 关于为什么要使用线程池久不赘述了,首先看一下java中作为线程池Executor底层实现类的ThredPoolExecutor的构造函数 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory th

java配置定时任务的几种配置方式及示例

使用java配置定时任务的几种配置方式及示例 (2010-08-21 13:16:10) 转载▼ 标签: spring 定时器 配置 it 分类: java Spring定时器,主要有两种实现方式,包括Java Timer定时和Quartz定时器! 1.Java Timer定时 首先继承java.util.TimerTask类实现run方法 package com.land; import java.util.Date;import java.util.TimerTask; public cla

java获取文件的路径问题

java获取文件的路径问题 在java中读取读取文件,经常因为路径的问题找不到,此文用于记录如何定位文件的简单方法. 本基于springboot做的测试,主要是构建工程方便,所用的方法都是JDK中的方法,主要测试有"/"和没有""的问题,以及getResourceAsStream(String string)和getResource(String string)的问题. 1.项目结构 解释一下,主要有两个配置文件,a.properties和b.properties,

java线程池与五种常用线程池策略使用与解析

背景:面试中会要求对5中线程池作分析.所以要熟知线程池的运行细节,如CachedThreadPool会引发oom吗? java线程池与五种常用线程池策略使用与解析 可选择的阻塞队列BlockingQueue详解 首先看一下新任务进入时线程池的执行策略: 如果运行的线程少于corePoolSize,则 Executor始终首选添加新的线程,而不进行排队.(如果当前运行的线程小于corePoolSize,则任务根本不会存入queue中,而是直接运行) 如果运行的线程大于等于 corePoolSize