`
huiqinbo
  • 浏览: 344429 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

获得本类(java文件)的路径【huiqinbo】this.getClass().getResource("/").getPath()

 
阅读更多

package com.huiqinbo;    

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

   
/**  
30.* @author huiqinbo  
31.* Log演示程序  
32.*/   
public class Log {
 private Logger loger;
    private static Log log;
    private Log()    
    {
        String filePath=this.getClass().getResource("/").getPath();
        filePath=filePath.substring(1).replace("bin", "src");
        PropertyConfigurator.configure(filePath+"log4j.properties");
        loger=Logger.getLogger(this.getClass());
    }    
        
    static Log getLoger()    
    {
        if(log!=null)    
            return log;    
        else   
            return new Log();    
    }
   
   
    public static void main(String args[])    
    {    
        Log log=Log.getLoger();    
        try   
        {    
            int c=2/0;    
        }catch(Exception e)    
        {
            e.printStackTrace();
            log.loger.error("今天气不错");
            log.loger.error("error", e);
            new Log().write();
                
        }    
    }
    public void open(){
     
    }
    public void close(){
     
    }
    public void write(){
     log.loger.error("今天气不错");
    }
   
}

 

 

 

 

log4j.properties

 

view plaincopy to clipboardprint?  
#\u5B9A\u4E49DEBUG\u4F18\u5148\u7EA7\uFF0CR\u4E3A\u65E5\u5FD7\u8F93\u51FA\u76EE\u7684\u7684    
log4j.rootLogger=DEBUG, R    
#org.apache.log4j.ConsoleAppender 
log4j.appender.R=org.apache.log4j.FileAppender    
#\u8BBE\u7F6E\u65E5\u5FD7\u6587\u4EF6\u540Dmy.log    
log4j.appender.R.file=my.log    
#\u6BCF\u6B21\u5728\u6587\u4EF6\u5C3E\u5199\u5165\u65B0\u7684\u65E5\u5FD7\u4FE1\u606F    
log4j.appender.R.Append=true   
#\u65E5\u5FD7\u8F93\u51FA\u4FE1\u606F\u683C\u5F0F\u7C7B\u578B    
log4j.appender.R.layout=org.apache.log4j.PatternLayout    
#\u65E5\u5FD7\u8F93\u51FA\u4FE1\u606F\u683C\u5F0F\u4E3A \u6362\u884C\u3001\u6362\u884C\u3001\u65E5\u671F\u3001\u4F18\u5148\u7EA7\u3001[\u7C7B\u540D]\u3001\u65E5\u5FD7\u4FE1\u606F\u3001\u6362\u884C    
log4j.appender.R.layout.ConversionPattern=%n%n%d%p[%c]-%m%n   
1#\u5B9A\u4E49DEBUG\u4F18\u5148\u7EA7\uFF0CR\u4E3A\u65E5\u5FD7\u8F93\u51FA\u76EE\u7684\u7684  
log4j.rootLogger=DEBUG, t  
#org.apache.log4j.ConsoleAppender   
log4j.appender.t=org.apache.log4j.FileAppender  
#\u8BBE\u7F6E\u65E5\u5FD7\u6587\u4EF6\u540Dmy.log  
log4j.appender.t.file=my1.log  
#\u6BCF\u6B21\u5728\u6587\u4EF6\u5C3E\u5199\u5165\u65B0\u7684\u65E5\u5FD7\u4FE1\u606F  
log4j.appender.t.Append=true 
#\u65E5\u5FD7\u8F93\u51FA\u4FE1\u606F\u683C\u5F0F\u7C7B\u578B  
log4j.appender.t.layout=org.apache.log4j.PatternLayout  
#\u65E5\u5FD7\u8F93\u51FA\u4FE1\u606F\u683C\u5F0F\u4E3A \u6362\u884C\u3001\u6362\u884C\u3001\u65E5\u671F\u3001\u4F18\u5148\u7EA7\u3001[\u7C7B\u540D]\u3001\u65E5\u5FD7\u4FE1\u606F\u3001\u6362\u884C  
log4j.appender.t.layout.ConversionPattern=%n%n%d%p[%c]-%m%n

分享到:
评论

相关推荐

    Java中获取文件路径的几种方式

    File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f.getAbsolutePath()); // 输出:C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin ``` 这段代码会...

    JAVA获取文件绝对路径的方法

    选择合适的方法取决于你是否需要访问类路径中的资源,或者只是简单地获取文件系统的文件路径。在进行文件操作时,确保正确处理路径是非常重要的,因为错误的路径可能导致文件找不到或者出现其他运行时错误。

    java项目中获取路径详解

    在静态方法中,可以使用 `Test.class.getResource("").getPath()`,而在非静态方法中,可以使用 `this.getClass().getResource("").getPath()` 或 `Test.class.getResource("").getPath()`。这两个方法都可以获取...

    总结一下java获取路径几种途径

    这种方法常用于读取类路径(classpath)下的资源,比如配置文件、图片或其他资源。 ### 4. 使用java.nio.file.Path类 自Java 7起,引入了`java.nio.file`包下的`Path`类,其对文件路径的操作更为直观和方便。 ```...

    JAVA获取项目路径.doc

    Class.class.getClass().getResource("/").getPath() ``` 输出如 `/D:/TEST/WebRoot/WEB-INF/classes/pack/`。 2. **获取工程的路径**: ```java System.getProperty("user.dir") ``` 输出如 `D:\TEST`。 ...

    普通java类获取绝对路径

    1. **获取当前类的资源路径**:Java提供了一个内置的方法`getClass().getResource()`或`getClass().getResourceAsStream()`,它们可以从类路径中获取资源的URL。例如,如果你有一个名为`MyClass.class`的文件,你...

    java调用winrar生成压缩文件路径有空格问题

    String path = this.getClass().getResource("/").getPath().replaceAll("%20", ""); System.out.println(path); // 读取配置文件 File file = new File(path + "winRaR/winrar.properties"); InputStream is ...

    Java相对路径与肯定路径的问题_.docx

    2. **`ClassLoader`的`getResource()`和`getPath()`**: 另一种方法是通过`this.getClass().getClassLoader().getResource("/").getPath()`获取`classes`目录的绝对路径,这在非Web环境中也很有用。 3. **`...

    Java相对路径总结

    例如,`getClass().getResourceAsStream("/path/to/resource.txt")`将从类路径的根目录开始查找资源。 6. **Java的URL类**:除了`File`类,Java的`java.net.URL`类也可以处理路径,尤其在处理网络资源时。它可以...

    java 获取项目文件路径实现方法

    在Java中,`.`通常代表当前目录,所以它也会返回当前类所在的包路径,与`this.getClass().getResource("").getPath().substring(1)`效果相同。 需要注意的是,这些方法的返回路径依赖于类加载器和项目结构,可能会...

    JAVA中获取各种路径

    #### (1) 获取类的资源路径:`Class.class.getClass().getResource("/").getPath()` 此方法返回类的资源路径,通常用于获取与类相关的资源文件,例如`/D:/TEST/WebRoot/WEB-INF/classes/pack/`,这在加载配置文件、...

    在Java程序中获取当前运行程序的路径

    首先,我们可以通过`java.lang.Class`类的`getResource`或`getResourceAsStream`方法来获取类路径中的资源文件路径。这两个方法都是在类路径中查找资源,返回一个URL对象,从中可以获取路径信息。例如,如果我们有一...

    java绝对路径和相对路径

    - `this.getClass().getClassLoader().getResource("").getPath()`:获取`classes`目录下的绝对路径。 - 示例:`/D:/workspace/strutsTest/WebRoot/WEB-INF/classes/` 3. **通过`ServletContext`对象获取路径**:...

    java获取路径的各种方法

    6. **this.getClass().getClassLoader().getResource("").getPath()**:这种方法可以在任何类中使用,返回的是类路径下的资源文件路径,通常用于加载类路径内的配置文件或资源。 除了以上方法,还有其他获取路径的...

    java获取路径

    1. **类的绝对路径**:通过`Class.class.getClass().getResource("/")`,然后调用`getPath()`来获取类文件所在的绝对路径。例如,返回`/D:/TEST/WebRoot/WEB-INF/classes/pack/`。 2. **得到工程的路径**:使用`...

    Java获取*路径实现探讨

    (1)、request.getRealPath(“/”);//不推荐使用获取工程的根路径 (2)、...//获取工程的根路径,这个方法比较好用,可以直接在servlet和jsp中使用 (4)、 this.getClass().getClassLoader().getResource(“”).getPath();

    java类所在工程路源代码

    String path = this.getClass().getResource("/").getPath(); String xmlpath = path.replaceAll("%20", " "); path = path.substring(1, path.indexOf("WEB-INF/classes")); System.out.println(path); } ...

    从HttpServletRequest获取各种路径总结

    - **类的绝对路径**:`Class.class.getClass().getResource("/").getPath()` - **获取工程的路径**:`System.getProperty("user.dir")` ##### 在Servlet中获取路径 - **获取工程目录**:`request.getSession()....

    Jar包中如何正确地加载资源文件博文中用到的测试项目源码

    类路径是指Java虚拟机(JVM)查找.class文件和其他资源文件的路径。当你运行一个包含资源文件的JAR包时,JVM会根据类路径来定位这些文件。默认情况下,JAR文件被视为一个类路径元素,其内部的结构被保留,这意味着你...

Global site tag (gtag.js) - Google Analytics