小弟有1个文件打在jar包里面 a.txt。。读的话没有问题用class.getResourceAsStream(String s);
但是如何写这个文件呢?直接用File file= new File("a.txt");好象不能读jar包里面的
URI uri = class.getResource("a.txt").toURI();
File file=new File(uri);
也不能弄到jar包里面。。
到底应该如何做。。谢谢大家了
但是如何写这个文件呢?直接用File file= new File("a.txt");好象不能读jar包里面的
URI uri = class.getResource("a.txt").toURI();
File file=new File(uri);
也不能弄到jar包里面。。
到底应该如何做。。谢谢大家了
只是多了一些信息.下面是代码.
/*
*Zip流可以输出到文件,套接字,字符串或者字节数组.
*/
package OutputStream;
import java.io.*;
import java.util.zip.*;public class ZipOutputStreamDemo
{
ZipOutputStream zip;
public ZipOutputStreamDemo(String name) throws java.io.IOException{
zip = new ZipOutputStream(
new BufferedOutputStream(
new FileOutputStream(name)));
}
public void writeFile(String name) throws java.io.IOException{
//加入一个zip条目
zip.putNextEntry(new ZipEntry(name));
BufferedReader in = new BufferedReader(
new FileReader(name));
int c;
while((c=in.read())!=-1){ //读入一个字符直到EOF
zip.write(c); //写入刚才读到的字符.
}
}
public static void main(String[] args) throws java.io.IOException{
//生成的zip文件将被存放的目录
ZipOutputStreamDemo demo = new ZipOutputStreamDemo("OutputStream/code.jar");
//zip里被压缩的文件的目录.
demo.writeFile("OutputStream/ZipOutputStreamDemo.java");
demo.zip.close();
}
}
可以用getClass().getResourceAsStream()拿到InputStream
然后用ObjectInputStream读
问一下
在类read_a_txt被并入某个jar后,其中
...
new BufferedReader( new InputStreamReader(Class.getResourceAsStream("a.txt")));
...
是对与read_a_txt处在同一目录下(或者是同一包下)的a.txt进行读入。
要是改成这样
...
new BufferedReader( new InputStreamReader(Class.getResourceAsStream("dir/a.txt")));
...
为什么不能对类read_a_txt下的一个目录(或是包)内的a.txt进行读呢?