Java获取文件的路径及常见问题解决方案
在java中读取读取文件,经常因为路径的问题找不到,此文用于记录如何定位文件的简单方法。
本基于springboot做的测试,主要是构建工程方便,所用的方法都是JDK中的方法,主要测试有”/“和没有""的问题,以及getResourceAsStream(String string)和getResource(String string)的问题。
1.项目结构
解释一下,主要有两个配置文件,a.properties和b.properties,a.properties方法java的代码里,b.properties放在resources的配置目录中。
编译之后,classpath的路径为:target/classes,斜线"/"指的也是这个路径,所有,如果有斜线就会去这个路径下面去找,如果没有斜线,就会去那个类的当前坐在路径去找。
2.例子
public class TestPath { public static void main(String[] args) { TestPath t = new TestPath(); //在当前TestPath类所在的包查询 InputStream a = t.getClass().getResourceAsStream("a.properties"); //在classpath路径下进行查询 InputStream b = t.getClass().getResourceAsStream("/b.properties"); //在当前TestPath类所在的包查询 URL url_a = t.getClass().getResource("a.properties"); //在classpath路径下进行查询 URL url_b = t.getClass().getResource("/b.properties"); System.out.println(); } }
以上,两个方法都可以用来定位文件,区别有两个:
- 有没有斜线,没有斜线的话在类方法的所在package中查询,如果有斜线,就去classpath下面查询
- 返回值,getResourceAsStream()返回的是InputStream,可以直接读取。getResource()返回的是URL对象,方便获取文件的path路径。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
完美解决Java获取文件路径出现乱码的问题
在Java中有时获取文件路径,获取的路径中存在中文或者是空格的时候,路径出现乱码.这个问题困扰了我好久,用过各种的转码都无济于事.在后来终于解决了,在这里和大家分享一下,其实也就是加一行代码的问题. 我在项目的是使用 String path = this.getClass().getClassLoader().getResource("/").getPath().substring(1); 这样来获得当前类的文件路径的.但是这样得到的是乱码.后来经过跟踪 在this.getClass(
-
java获取系统路径字体、得到某个目录下的所有文件名、获取当前路径
java获取系统路径字体.得到某个目录下的所有文件名.获取当前路径 复制代码 代码如下: package com.liuxing.test; import java.awt.GraphicsEnvironment;import java.io.File;public class Test { private static GraphicsEnvironment environment; /** * @param args */ public static void main(String[]
-
java 用递归获取一个目录下的所有文件路径的小例子
复制代码 代码如下: private List<String> ergodic(File file,List<String> resultFileName){ File[] files = file.listFiles(); if(files==null)return resultFileName;// 判断目录下是不是空的 for (File f : files) { if(f.isDirectory()){// 判
-
java 获取项目文件路径实现方法
this.getClass().getResource("/").getPath().substring(1)获得路径为E:/myeclipse/test/WebRoot/WEB-INF/classes/,即主目录. this.getClass().getResource("").getPath().substring(1)获得路径为E:/myeclipse/test/WebRoot/WEB-INF/classes/net/hncu/db/,即本文件的相对路径. t
-
基于JAVA文件中获取路径及WEB应用程序获取路径的方法
1. 基本概念的理解 `绝对路径`:你应用上的文件或目录在硬盘上真正的路径,如:URL.物理路径 例如: c:/xyz/test.txt代表了test.txt文件的绝对路径: http://www.sun.com/index.htm也代表了一个URL绝对路径: `相对路径`:相对与某个基准目录的路径,包含Web的相对路径(HTML中的相对目录). 例如: 在Servlet中,"/"代表Web应用的根目录,和物理路径的相对表示. 例如: "./"代表当前目录,&quo
-
JAVA获取文件绝对路径的方法
本文实例讲述了JAVA获取文件绝对路径的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: /** * 获取一个类的class文件所在的绝对路径. 这个类可以是JDK自身的类,也可以是用户自定义的类,或者是第三方开发包里的类. * 只要是在本程序中可以被加载的类,都可以定位到它的class文件的绝对路径. * * @param cls * 一个对象的Class属性 * @return 这个类的class文件位置的绝对路径. 如果没有这个类的定义,则返回nu
-
Java获取文件的路径及常见问题解决方案
在java中读取读取文件,经常因为路径的问题找不到,此文用于记录如何定位文件的简单方法. 本基于springboot做的测试,主要是构建工程方便,所用的方法都是JDK中的方法,主要测试有"/"和没有""的问题,以及getResourceAsStream(String string)和getResource(String string)的问题. 1.项目结构 解释一下,主要有两个配置文件,a.properties和b.properties,a.properties方法
-
Java获取文件路径常用方法解析
1. 前言 Java 开发中我们经常要获取文件的路径,比如读取配置文件等等.今天我们就关于文件的路径和如何读取文件简单地探讨一下. 2. 文件的路径 文件的路径通常有 相对路径 与 绝对路径. 2.1 相对路径 以当前文件为基准进行一级级目录指向被引用的资源文件.在 Java 代码中以当前运行的代码所在的位置为参照位置,只要被引用的文件相对于引用的文件的位置不变就可以被读取到.一旦改变相对位置就无法被读取到. 2.2 绝对路径 文件在文件系统中真正存在的路径,是指从硬盘的根目录(Windows为
-
Java获取文件夹下所有文件名称的方法示例
本文实例讲述了Java获取文件夹下所有文件名称的方法.分享给大家供大家参考,具体如下: import java.io.File; public class GetFoldFileNames { /** * * @author zdz8207 */ public static void main(String[] args) { getFileName(); } public static void getFileName() { String path = "G:/lxz/20130611&qu
-
Java获取文件ContentType案例
源码如下: package com.oysept; import java.io.File; import java.io.IOException; import java.net.FileNameMap; import java.net.URLConnection; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import javax.activation.Mimetype
-
java获取文件扩展名的方法小结【正则与字符串截取】
本文实例讲述了java获取文件扩展名的方法.分享给大家供大家参考,具体如下: 问题描述: 有一个String类型:String imageName = "zy.jpg"; 请问我如何截取"."后面的后辍名. 解决方法一:使用正则表达式 package csdnTest; import java.util.regex.*; public class CSDNTest { public static void main(String[] ss) { String s=
-
Java获取文件的类型和扩展名的实现方法
Java获取文件的类型和扩展名 实现代码: File file=new File("E:\\aa.jpg"); String fileName=file.getName(); String fileTyle=fileName.substring(fileName.lastIndexOf("."),fileName.length()); System.out.println(fileTyle); 程序运行效果图: 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
-
PHP获取文件绝对路径的代码(上一级目录)
PHP获取文件绝对路径 复制代码 代码如下: <?php echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\www\test.php echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:D:\www\ echo dirname(dirname(__FILE__)); //取得当前文件的上一层目录名,结果:D:\ ?> chdir() 函数 定义和用法 chdir() 函数把当前的目录改变为指定的目录. 若成功,则该函数返回 true,
-
linux C++ 获取文件绝对路径的实例代码
提供ftp服务时需要获取文件绝对路径,这里记录一下. #include <stdlib.h> #include <stdio.h> #include <limits.h> int main(){ const char *file_name = "filename"; char abs_path_buff[PATH_MAX]; //获取文件路径, 填充到abs_path_buff //realpath函数返回: null表示获取失败; 否则返回指向ab
随机推荐
- PHP类与对象中的private访问控制的疑问
- Android实现二级列表购物车功能
- 基于javascript实现动态显示当前系统时间
- C++读取WAV音频文件的头部数据的实现方法
- asp.net控件DataList分页用法
- 无间断滚动的新闻文章列表,兼容IE、Firefox和Opera,符合W3C标准。可作Marquee
- javascript的数组和常用函数详解
- 详解Python中使用base64模块来处理base64编码的方法
- 浅谈php数组array_change_key_case() 函数和array_chunk()函数
- C#复制和深度复制的实现方法
- C语言入门的一些基本资源推荐和程序语法概览
- 非常漂亮的css星级效果总结第1/2页
- Android开发实现可拖动排序的ListView功能【附源码下载】
- Android 静默安装和智能安装的实现方法
- 浅谈Node框架接入ELK实践总结
- 使用Docker部署Spring Boot的实现方法
- js实现图片上传即时显示效果
- Python实现随机创建电话号码的方法示例
- bootstrap table表格插件之服务器端分页实例代码
- Python txt文件加入字典并查询的方法