文档章节

java中获得当前文件路径多种方法

小老傅
 小老傅
发布于 2015/04/21 09:16
字数 457
阅读 7072
收藏 18
点赞 1
评论 0

java中获得当前文件路径多种方法

public String getClassPath(){ String path=""; try { path=new File(getClass().getClassLoader().getResource("").toURI()).getPath(); }catch (URISyntaxException ex) {} return path; }

取程序运行时的目录路径。即程序在那里双击或BAT文件所在的路径 System.getProperties("user.dir");

第一种: File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f);

结果: C:Documents%20and%20SettingsAdministratorworkspaceprojectNamebin

获取当前类的所在工程路径; 如果不加“/” File f = new File(this.getClass().getResource("").getPath()); System.out.println(f);

结果: C:Documents%20and%20SettingsAdministratorworkspaceprojectNamebincomtest

获取当前类的绝对路径;

第二种: File directory = new File("");//参数为空 String courseFile = directory.getCanonicalPath() ;

System.out.println(courseFile); 结果: C:Documents and SettingsAdministratorworkspaceprojectName

获取当前类的所在工程路径;

第三种: URL xmlpath = this.getClass().getClassLoader().getResource("selected.txt"); System.out.println(xmlpath);

结果: file:/C:/Documents%20and% 20Settings/Administrator/workspace/projectName/bin/selected.txt

获取当前工程src目录下selected.txt文件的路径

第四种: System.out.println(System.getProperty("user.dir"));

结果: C:Documents and SettingsAdministratorworkspaceprojectName

获取当前工程路径

第五种: System.out.println( System.getProperty("java.class.path"));

结果: C:Documents and SettingsAdministratorworkspaceprojectNamebin

获取当前工程路径

绝对路径和相对路径: 绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:xyz

est.txt 代表了test.txt文件的绝对路径。http://www.111cn.net 也代表了一个URL绝对

路径。相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录)

,例如:在Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代

表当前目录,"../"代表上级目录。这种类似的表示,也是属于相对路径。另外关于URI,

URL,URN等内容,请参考RFC相关文档标准。RFC 2396: Uniform Resource Identifiers

(URI): Generic Syntax [以上摘自:http://www.111cn.net/jsp/Java/39141.htm]

© 著作权归作者所有

共有 人打赏支持
小老傅
粉丝 7
博文 41
码字总数 35819
作品 0
海淀
程序员
结合JVM源码谈Java类加载器

一、前言 之前文章 Java 类加载器揭秘 从Java层面讲解了Java类加载器的原理,这里我们结合JVM源码在稍微深入讲解下。 二、Java类加载器的委托机制 Java 类加载器使用的是委托机制,也就是一个...

阿里加多 ⋅ 04/29 ⋅ 0

透过AccessController深入了解Java安全模型

问题 上一期在使用到MappedByteBuffer时,采用的其中一种方式(AccessController)来释放已分配的内存映射,今天具体探讨一下AccessController的前世今生。 回顾上一期代码: 首先我们先了解...

酱君挺怎样 ⋅ 06/03 ⋅ 0

做几道基础的Java测试题,看看最近有进步吗?欢迎来学习

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互...

启示录是真的 ⋅ 05/24 ⋅ 0

SWIG与JAVA 交互最全开发指南一

项目背景 最近开始研究做移动端项目,但是本人基本是做了五六年的c++的底层研发,对C++的研发可以说是驾轻就熟了,但是对于android还是属于刚入门阶段,虽然断断续续做移动端也做了一年,但是...

揽月凡尘 ⋅ 前天 ⋅ 0

jdk的下载与安装(windows环境下) - 图解

一、JDK的下载(当前演示版本为jdk 1.8.0_171) 1.下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.同意相关协议,再下载对应版本的jdk(w...

qq_34256296 ⋅ 05/25 ⋅ 0

叮!您收到一份超值Java基础入门资料!

摘要:Java语言有什么特点?如何最大效率的学习?深浅拷贝到底有何区别?阿里巴巴高级开发工程师为大家带来Java系统解读,带你掌握Java技术要领,突破重点难点,入门面向对象编程,以详细示例...

聒小小噪 ⋅ 05/12 ⋅ 0

类加载器ClassLoader-1

一, 类加载器深入剖析 1,Java虚拟机与程序的生命周期 在如下几种情况下,Java虚拟机将结束生命周期: –执行了System.exit()方法 –程序正常执行结束 –程序在执行过程中遇到了异常或错误而...

康熙兄弟 ⋅ 06/02 ⋅ 0

00.java虚拟机的基本结构概念

java虚拟机的基本结构 1、类加载子系统:负责从文件系统或者网络中加载Class信息,加载的信息存放在一块称之为方法区的内存空间。 2、方法区:就是存放类信息、常量信息、常量池信息、包括字...

挚爱冷如烟° ⋅ 05/08 ⋅ 0

培训云计算学校,虚拟机基本结构讲解

我们要对JVM虚拟机的结构有一个感性的认知。毕竟我们不是编程人员,认知程度达不到那么深入。一个运行时的Java虚拟机实例的天职是:负责运行一个java程序。当启动一个Java程序时,一个虚拟机...

长沙千锋 ⋅ 05/17 ⋅ 0

ThreadLocal源码分析

阅读原文请访问我的博客 BrightLoong's Blog 一. 简介 提醒篇幅较大需耐心。 简介来自ThreadLocal类注释 ThreadLocal类提供了线程局部 (thread-local) 变量。这些变量与普通变量不同,每个线...

BrightLoong ⋅ 05/28 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

解决CentOS6、7,/etc/sysconfig/下没有iptables的问题

一、Centos 6版本解决办法: 1.任意运行一条iptables防火墙规则配置命令: iptables -P OUTPUT ACCEPT 2.对iptables服务进行保存: service iptables save 3.重启iptables服务: service ...

寰宇01 ⋅ 30分钟前 ⋅ 2

数据库备份和恢复

备份:mysqldump -u root -p 数据库>磁盘路径 恢复:mysql -u root -p 数据库<sql脚本的磁盘路径

anlve ⋅ 今天 ⋅ 0

发生了什么?Linus 又发怒了?

在一个 Linux 内核 4.18-rc1 的 Pull Request 中,开发者 Andy Shevchenko 表示其在对设备属性框架进行更新时,移除了 union 别名,这引发了 Linus 的暴怒。 这一次 Linus Torvalds 发怒的原...

问题终结者 ⋅ 今天 ⋅ 0

在树莓派上搭建一个maven仓库

在树莓派上搭建一个maven仓库 20180618 lambo init 项目说明 家里有台树莓派性能太慢。想搭建一个maven私服, 使用nexus或者 jfrog-artifactory 运行的够呛。怎么办呢,手写一个吧.所在这个...

林小宝 ⋅ 今天 ⋅ 0

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 今天 ⋅ 0

Python模块/包/库安装(6种方法)

Python模块/包/库安装(6种方法) 冰颖机器人 2016-11-29 21:33:26 一、方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip...

cswangyx ⋅ 今天 ⋅ 0

零基础学习大数据人工智能,学习路线篇!系统规划大数据之路?

大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。 Python:Python 的排名从去年开始就借助人工智能持续上升,现在它已经...

董黎明 ⋅ 今天 ⋅ 0

openJdk和sun jdk的区别

使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK, 那么到底什么是OpenJDK,它与SUN JDK有什么关系和区别呢? 历史上的原因是,Ope...

jason_kiss ⋅ 今天 ⋅ 0

梳理

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 它是JS的状态容器,是一种解决问题的方式,所以即可以用于 react 也可以用于 vue。 需要理解其思想及实现方式。 应用中所有的 stat...

分秒 ⋅ 今天 ⋅ 0

Java 后台判断是否为ajax请求

/** * 是否是Ajax请求 * @param request * @return */public static boolean isAjax(ServletRequest request){return "XMLHttpRequest".equalsIgnoreCase(((HttpServletReques......

JavaSon712 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部