Java获取classpath路径总结

Java获取classpath路径总结

1概述

这里我对异常情况也做了屏蔽,给大家参考一下。资源文件放在资源目录即可。

1.1静态获取

private static URL currentStaticClassPathResourceUrl = null;

static {
    //1.静态调用:不能加/,而且还没有: file:
    currentStaticClassPathResourceUrl
= Thread.currentThread().getContextClassLoader().getResource("packetText1.txt");
    if (null == currentStaticClassPathResourceUrl) { //支持非:JDK7JDK8
        currentStaticClassPathResourceUrl
= Thread.currentThread().getContextClassLoader().getResource("/packetText1.txt");
    }
    System.out.println("[static]" + currentStaticClassPathResourceUrl.getPath());
}

 

public void testImmulateClient2() {

    String ip = "127.0.0.1";
    int port = 1500;

    PacketImmulateSender packetSender = new PacketImmulateSender(ip, port, new File(currentStaticClassPathResourceUrl.getPath()));
    Thread senderThread = new Thread(packetSender);
    senderThread.start();

    try {
        Thread.sleep(2000 * 60);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    System.out.println("SubjectObserverClientTest End.");
}

 

 

1.2对象方法获取

public void testImmulateClient() {

    String ip = "127.0.0.1";
    int port = 1500;


    URL currentNoStaticClassPathResourceUrl = null;
    //非静态调用:/
    
currentNoStaticClassPathResourceUrl = this.getClass().getResource("/packetText1.txt");
    if (null == currentNoStaticClassPathResourceUrl) {
        currentNoStaticClassPathResourceUrl = this.getClass().getResource("packetText1.txt");
    }
    System.out.println("[no-static]" + currentNoStaticClassPathResourceUrl.getPath());

    PacketImmulateSender packetSender = new PacketImmulateSender(ip, port, new File(currentNoStaticClassPathResourceUrl.getPath()));
    Thread senderThread = new Thread(packetSender);
    senderThread.start();

    try {
        Thread.sleep(2000 * 60);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
    System.out.println("SubjectObserverClientTest End.");
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值