zoukankan      html  css  js  c++  java
  • Java 读取jar内的文件的超简便方法

    坑爹的java课程设计,偏要用jar来运行

    读取、存储jar内文件的支持也好低

    存储方法:

    进入jar文件其实没有说的那么困难,jar文件本质是一个zip格式的压缩文件,只是把文件后缀名改了,要用Java读取里面的文件也没有那么想象的那么困难。使用相关协议就可以: 
    例如:c盘根目录有一个test.jar文件文件里面有个a.txt文件我们就读取这个a.txt文件
    文件对应的URL:
    jar:file:/C:/test.jar!/a.txt 
    
    
     1 import java.io.IOException; 
     2 import java.io.InputStream; 
     3 import java.net.URL; 
     4 
     5 public class TestDouble { 
     6 public static void main(String[] args) throws IOException { 
     7 URL url=new URL("jar:file:/C:/test.jar!/a.txt"); 
     8 System.out.println(url); 
     9 InputStream is=url.openStream(); 
    10 byte b[]=new byte[1000]; 
    11 is.read(b); 
    12 System.out.println(new String(b).trim()); 
    13 } 
    14 }

    如果想不依赖绝对路径,那就先获取运行jar时候的当前绝对路径,然后加上要读的目录

    把方法内换一下

            String jarPath = Main.class.getProtectionDomain().getCodeSource().getLocation().getFile();
            URL url=new URL("jar:file:" + jarPath + "!/in.txt"); 

    关于存储。jar的设计理念就是一个只读文件,查了java文档,有个java.util.jar.JarOutputString,不过不是很好用
  • 相关阅读:
    Statement
    打印页数设定
    点选TOP后并不是直接跳到页顶的,而是滚动上去
    文本框不允许输入特殊字符,只能是数字、字母、-和_,不允许输入空格键
    不间断滚动
    无限级别的菜单(侧拉菜单)
    筛法求素数
    1212
    触发器引发的entityframework异常
    using crystalreport generate PDF2
  • 原文地址:https://www.cnblogs.com/someblue/p/4225694.html
Copyright © 2011-2022 走看看