Java如何获取相对路径文件
Java获取相对路径文件
1. 文件在src下
class.getResourceAsStream(“”)获得的是相对路径 class.getClassLoader().getResourceAsStream(“”)加载器获得是绝对路径
Class.getResourceAsStream(String path) :
- (1)不以 “/” 开头时,默认是从此类所在的包下取资源。
- (2)以**“/”**开头,则是从ClassPath(Src根目录)根下获取。
Class.getClassLoader.getResourceAsStream(String path) :
- 默认则是从ClassPath根下获取,path不能以’/'开头。
2. 文件在src同级目录下

InputStream in = new BufferedInputStream(new FileInputStream("./test/aaa.txt"));1.FileTest.class.getResource("")
得到的是当前类FileTest.class文件的URI目录。不包括自己!
如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/com/test/
2.FileTest.class.getResource("/")
得到的是当前的classpath的绝对URI路径。
如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/
3.Thread.currentThread().getContextClassLoader().getResource("")
得到的也是当前ClassPath的绝对URI路径。
如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/
4.FileTest.class.getClassLoader().getResource("")
得到的也是当前ClassPath的绝对URI路径。
如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/
5.ClassLoader.getSystemResource("")
得到的也是当前ClassPath的绝对URI路径。
如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/
我推荐使用Thread.currentThread().getContextClassLoader().getResource("")来得到当前的classpath的绝对路径的URI表示法。
Java获取文件大小(文件、路径)
文件大小(路径)
/**
* 文件大小--路径
*
* @return
*/
public static long getFileLength(String downloadUrl) {
if(downloadUrl == null || "".equals(downloadUrl)){
return 0L ;
}
URL url = null;
try {
url = new URL(downloadUrl);
} catch (MalformedURLException e) {
e.printStackTrace();
return 0L;
}
HttpURLConnection conn = null;
try {
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("HEAD");
conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows 7; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36 YNoteCef/5.8.0.1 (Windows)");
return (long) conn.getContentLength();
} catch (IOException e) {
return 0L;
} finally {
conn.disconnect();
}
}文件大小(文件)
/**
* 文件大小--文件
*
* @return
*/
public static int getFileSize(File file) {
int fileSize = 0;
FileInputStream fis = null;
try {
if (file.exists() && file.isFile()) {
String fileName = file.getName();
fis = new FileInputStream(file);
fileSize = fis.available();
System.out.println("文件" + fileName + "的大小是:" + fis.available() + "\n");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != fis) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return fileSize;
}测试下
public static void main(String[] args) {
File file = new File("C:\\Users\\xuzh\\Desktop\\6f3c0052d684451a92e7fb5b55eda9fd.jpg");
getFileSize(file);
}总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
浅析Java中Map与HashMap,Hashtable,HashSet的区别
HashMap和Hashtable两个类都实现了Map接口,二者保存K-V对(key-value对);HashSet则实现了Set接口,性质类似于集合2013-09-09
解决bootstrap.yml不生效,无法优先于application.yml文件加载问题
文章主要讨论了在Spring Boot项目中,`bootstrap.yml`文件无法优先于`application.yml`文件加载的问题,原因是缺少了`nacos-config`依赖,且需要确保Spring Boot版本与`nacos-config`版本匹配,作者希望通过分享个人经验,帮助他人解决类似问题2024-12-12
Java创建图形用户界面(GUI)入门详细指南(Swing库JFrame类)
这篇文章主要介绍了使用Java Swing库的JFrame类创建基本的图形用户界面,包括窗口的创建、组件的添加和事件处理,通过代码讲解了如何设置窗口大小、添加按钮及处理按钮点击事件,适合初学者学习和开发GUI应用程序,需要的朋友可以参考下2024-11-11
使用Java将DOCX文档解析为Markdown文档的代码实现
在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文档仍然以Microsoft Word的DOCX格式保存,本文将介绍如何使用Java和相关库将DOCX文档解析为Markdown文档,需要的朋友可以参考下2025-04-04
spring-boot集成spring-security的oauth2实现github登录网站的示例
本篇文章主要介绍了spring-boot集成spring-security的oauth2实现github登录网站的示例,非常具有实用价值,需要的朋友可以参考下2017-10-10


最新评论