Java程序中读取外部文件时的路径问题

转自:https://www.cnblogs.com/wt20/p/8320346.html

项目经常会读取一些配置文件, 因此getResource方法便能够起到重要作用

使用时主要是两种方法, 一个是字节码文件Class类, 另一个是ClassLoader类加载器

使用Class类时有两种使用方式:

1. 使用"/"  获取到的是classpath路径

2. 不使用"/" 这就是相对路径

ClassLoader类

没有"/"的写法, 获取到的就是classpath路径

测试代码

public class GetResourceTest {

    public static void main(String[] args) {
        System.out.println(GetResourceTest.class.getResource("/test.properties").getPath());
        System.out.println(GetResourceTest.class.getResource("test1.properties").getPath());
        System.out.println(GetResourceTest.class.getClassLoader().getResource("test.properties").getPath());
        System.out.println(GetResourceTest.class.getClassLoader().getResource("/"));
    }

}

结果:

/E:/IdeaJava/studyTest/out/production/studyTest/test.properties
/E:/IdeaJava/studyTest/out/production/studyTest/com/waston/Test/test1.properties
/E:/IdeaJava/studyTest/out/production/studyTest/test.properties
null

工程包结构

以上为https://www.cnblogs.com/wt20/p/8320346.html博主所写

最近在做项目时需要对数据库的历史数据进行处理,由于对oracle数据库的定时任务不熟悉所以使用Java编写了一个定时任务

在程序中需要读取一个ctl文件,但是,如果给定目录的话,给客户运行时可能由于文件放在位置出错而不能读取到文件,尝试使用虚拟路径,没有成功,在网上搜到使用此方法可以获取到目录,尝试使用,成功。

原文地址:https://www.cnblogs.com/qinshou/p/8999204.html

时间: 2024-10-06 06:37:04

Java程序中读取外部文件时的路径问题的相关文章

Java-Servlet--《12-WEB应用中的普通Java程序如何读取资源文件.mp4》 有疑问

\第五天-servlet开发和ServletConfig与ServletContext对象\12-WEB应用中的普通Java程序如何读取资源文件.mp4; 多层时,DAO为了得到资源文件中的配置参数: servlet 中的 doGet方法中获得ServletcontextServletcontext context = this.getServletContext();然后将context 对象传到 DAO中使用,这样的话耦合就高了,不合理. 所以:要通过类加载器的方式 这个Properties

WEB应用中的普通Java程序如何读取资源文件

1 package cn.itcast; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 6 import javax.servlet.ServletException; 7 import javax.servlet.http.HttpServlet; 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpSer

Java/JavaWeb中读取资源文件

1.一般工程中使用I/O类指定文件的绝对路径读取 FileInputStream fis = new FileInputStream("src/main/resources/zsm.properties"); ppt.load(fis); String memAddr1 = ppt.getProperty("memAddr1"); 2.Web工程中可以使用ServletContext或ClassLoader来读取 2.1.通过ServletContext来读取资源文

Java项目中读取properties文件

package util; import java.io.IOException; import java.io.InputStream; import java.util.Properties; /**  * 获取配置文件信息  *   * @author Carl  *  */ public final class GetProperties { private static Properties prop = null; static{ prop = new Properties(); /

perl中读取外部文件

打开一个在电脑G盘111文件下的一个文件 #!/usr/bin/perl -w  use strict; open(IN,"G:/111/mylove.txt"); while($line=<IN>){        print $line;}

java程序读取资源文件时路径如何指定

java程序,读取资源操作有两种方式. 一是直接通过File进行的.例如FileReader.BufferedReader等.文件目录就是相对于Project了.如我新建一个MyProject,那么,我在MyProject下有一个icons文件夹,如果想读取icons里面的东西,路径是诸如"icons/***.gif"的相对路径就可以了. 二是通过getClass().getResource("")得到.第二种方法必须保证文件是在classpath包括的路径下.而一

五种方式让你在java中读取properties文件内容不再是难题

一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC+Mybatis整合开发的项目中通过java程序读取properties文件内容的方式进行了梳理和分析,先和大家共享. 二.项目环境介绍 Spring 4.2.6.RELEASE SpringMvc 4.2.6.RELEASE Mybatis 3.2.8 Maven 3.3.9 Jdk 1.7 Id

java 从jar包中读取资源文件

在代码中读取一些资源文件(比如图片,音乐,文本等等),在集成环境(Eclipse)中运行的时候没有问题.但当打包成一个可执行的jar包(将资源文件一并打包)以后,这些资源文件找不到,如下代码:Java代码 [java] view plaincopy //源代码1: package edu.hxraid; import java.io.*; public class Resource { public  void getResource() throws IOException{ File fil

(转)java 从jar包中读取资源文件

(转)java 从jar包中读取资源文件 博客分类: java 源自:http://blog.csdn.net/b_h_l/article/details/7767829 在代码中读取一些资源文件(比如图片,音乐,文本等等),在集成环境(Eclipse)中运行的时候没有问题.但当打包成一个可执行的jar包(将资源文件一并打包)以后,这些资源文件找不到,如下代码:Java代码 [java] view plaincopy //源代码1: package edu.hxraid; import java