Java中的文件路径

今天一定在这里解决这个问题,通过路径读文件一般就3种方式,但他们完全不同:

1. File myFile=new File("myfile.txt");

上面这么写是从当前路径读文件,当前路径指启动当前Java进程的路径,不同的情况这个路径都不一样,在eclipse里一般是当前项目的路径,在 Servlet里一般就是Servlet容器的路径。这个路径的绝对值可以通过System.getProperty("user.dir"))取到。这个方法同时可以通过绝对路径取文件,如File myFile=new File("D:\\temp\\myfile.txt"); File myFile=new File("/usr/user1/myfile.txt");

2. InputStream myFileStream = this.getClass().getResourceAsStream("myfile.txt");

从当前类所在路径读文件, myfile.txt应该是和当前这个类在同一个目录中的文件。如果路径前放了个"/", 如this.getClass().getResourceAsStream("/myfile.txt"),那就是从当前classpath开始读了

3.InputStream myFileStream = this.getClass().getClassLoader().getResourceAsStream("myfile.txt");

这个容易和第2种混淆,它是指从classpath开始找文件,前面加不加"/"都一样,其实它相当与this.getClass().getResourceAsStream("/myfile.txt"), 与这个有相同效果的还有

Thread.currentThread().getContextClassLoader().getResourceAsStream("myfile.txt")或

Thread.currentThread().getContextClassLoader().getResourceAsStream("/myfile.txt")

ClassLoader.getSystemResource("myfile.txt")或

ClassLoader.getSystemResource("/myfile.txt")

下面这个代码

package com.test.path;

import java.io.File;

class TestPath {

public static void main(String[] args) throws Exception {

System.out.println(Thread.currentThread().getContextClassLoader().getResource(""));

System.out.println(TestPath.class.getClassLoader().getResource(""));

System.out.println(ClassLoader.getSystemResource(""));

System.out.println(TestPath.class.getClassLoader().getResource(""));

System.out.println(TestPath.class.getResource(""));

System.out.println(TestPath.class.getResource("/"));

System.out.println(new File("").getAbsolutePath());

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

}

}

它的输出:

file:/C:/TestArena/bin/

file:/C:/TestArena/bin/

file:/C:/TestArena/bin/

file:/C:/TestArena/bin/

file:/C:/TestArena/bin/com/test/path/

file:/C:/TestArena/bin/

C:\TestArena

C:\TestArena

java中file路径_Java中的文件路径相关推荐

  1. java中file类_Java中file类

    File类的概述:File更应该叫做一个路径,文件路径或者文件夹路径 ,路径分为绝对路径和相对路径,绝对路径是一个固定的路径,从盘符开始,相对路径相对于某个位置,在eclipse下是指当前项目下,在d ...

  2. java中file对象_Java中File对象的常用方法

    创建: 1.createNewFile()指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false. 2.mkdir() 在指定位置创建一个单级文件夹. 3.mkdirs() ...

  3. java linux路径_Java,Linux文件路径

    斜杠和反斜杠 正斜杠,又称左斜杠,符号是"/": 反斜杠,也称右斜杠,符号是"\". 在Unix/Linux中,路径的分隔采用正斜"/",比 ...

  4. java get image获取根路径_Java 获取资源文件路径

    1 问题描述 通过源码运行时,一般使用如下方式读取资源文件: String str = "1.jpg"; 资源文件与源码文件放在同一目录下,或者拥有同一父级目录: String s ...

  5. java如何获取文件路径_java如何获取文件路径

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

  6. getresourceasstream 路径_Java 获取资源文件路径

    1 问题描述 通过源码运行时,一般使用如下方式读取资源文件: String str = "1.jpg"; 资源文件与源码文件放在同一目录下,或者拥有同一父级目录: String s ...

  7. java io 文件路径_如何从Java项目中的相对路径读取文件? java.io.File找不到指定的路径...

    如何从Java项目中的相对路径读取文件? java.io.File找不到指定的路径 我有一个包含2个包的项目: ListStopWords.txt ListStopWords.txt 在包(2)中我有 ...

  8. java 中的流_Java中的流(IO

    Java中的流(IO流. java.io包中定义了多个流类型(类或抽象类)来实现 输入 / 输出功能,可以从不同的角度对其进行分类: 按单位可分为: 字节流         (一个字节一个字节的读取) ...

  9. 解决:利用IDEA的右上角图标打开jsp文件,在浏览器中打开的是“本机文件路径”,而不是“http路径”问题

    解决:利用IDEA的右上角图标打开jsp文件,在浏览器中打开的是"本机文件路径",而不是"http路径"问题 一·问题描述: 二·错误原因: 三·解决方法: 方 ...

  10. Error: ENOSPC: System limit for number of file watchers reached, watch'所在文件路径'

    Error: ENOSPC: System limit for number of file watchers reached, watch'所在文件路径' vue工程在 deepin15.11 系统 ...

最新文章

  1. 跨域的原因以及解决方案
  2. ML之RF:利用Js语言设计随机森林算法【DT之CART算法(gain index)】并应用随机森林算法
  3. 递推DP UVA 590 Always on the run
  4. 时隔两周,我给阎王设计的地府CRM终于做完了
  5. 【机器学习】异常检测算法速览(Python代码)
  6. 分享 - 普通程序员如何转向AI方向
  7. mysql 5.5 替换字符_MySQL replace函数替换字符串语句的用法
  8. UGUI Canvas
  9. Linux开机自动启动ORACLE设置
  10. 47-高级路由:BGP 镜子实验
  11. HTML/CSS/js 日期等其他函数 相关收藏
  12. Vivado保姆级安装
  13. 计算机一级excel函数rank函数应用,2017年计算机一级excel操作题
  14. 寒武纪2021数字后端笔试题
  15. 全面详解互联网企业开放API的 “守护神”
  16. 案例——蚂蚁金服初探,唯一的金融互联网生态...
  17. dataframe横向和纵向拼接
  18. TensorFlow学习笔记——《TensorFlow技术解析与实战》
  19. 大数据为什么需要学python?
  20. 多线程练习:模拟多人爬山

热门文章

  1. 网关和路由,路由的分类,route命令
  2. Win11很难用?右键菜单恢复win10经典样式,直接起飞!
  3. 《程序设计基础》 第二章 用C语言编写程序 6-1 求排列数 (15 分)
  4. buuctf 萌萌哒八戒
  5. 睁眼 闭眼 眯眼检测算法
  6. CSDN编程竞赛第六期题解
  7. 四川山海蓝图:如何在抖音上吸引更多用户
  8. 20篇MySQL文章,成体系跟新完毕,尽情学习吧!
  9. Solr使用IKAnalyzer中文分词器配置教程
  10. Emqtt -- 05 -- Mysql插件认证及访问控制