问题描述:源码读取文件内容OK,但是打成jar包后,导入到另外一个工程中后,读取文件内容出错,java.io.FileNotFoundException:找不到文件?!
解决方案:读取jar包中文件内容,必须采用getResourceAsStream("path")的方式来获取(该
文件必须在src目录或其子目录下才能获取到
)。
===================================================
1、在src目录下创建一个test.txt,并写入一些数据;
2、编写读取文件数据类
;
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class ReaderFile
{
private static String txtFile = "test.txt";
public static final String READ_FILE_ENCODING = "UTF-8";
public static final String NEW_LINE = System.getProperty("line.separator");
public static String readFileContent() throws IOException
{
InputStream inStream = ReaderFile.class.getResourceAsStream("/" + txtFile);
BufferedReader reader = new BufferedReader(new InputStreamReader(
inStream, READ_FILE_ENCODING));
StringBuilder content = new StringBuilder();
String line = null;
while (null != (line = reader.readLine()))
{
content.append(line);
content.append(NEW_LINE);
}
reader.close();
inStream.close();
return (content.toString());
}
public static void main(String[] args) throws IOException
{
// System.getProperties().list(System.out);
String content = readFileContent();
System.out.println(content);
}
}
3、将读取文件内容打成readfile.jar
4、在另外一个工程中引入该jar包,调用读取文件内容方法:
package readfiletest;
import java.io.IOException;
import test.ReaderFile;
public class TestReadFile
{
public static void main(String[] args) throws IOException
{
String content = ReaderFile.readFileContent();
System.out.println(content);
}
}
5、测试OK,文件内容成功打印到控制台。
分享到:
相关推荐
重新打包(重命名)的工具,在jar包重复的情况下使用。 这里我们以 gson.jar 为例,在 gson.jar 包目录下新建一个文本文件,名字随意,例如 rule.txt,写入下面的内容。 rule com.google.gson.** ...
windows运行jar包指定jdk路径的脚本文件。可以不用系统的jdk运行,指定某个文件下的jdk运行jar包
WebSphere下的所有jar文件名和路径
Java读取xls、CSV、xlsx文件所用到的jar包,包括:opencsv-2.3.jar、poi-3.7-20101029.jar、poi-ooxml-3.7-20101029.jar
2.列出指定路径下的所有Jar包文件 3.除了对Jar包进行搜索分析外,还可以对zip包进行分析 4.填写搜索路径是最好不要只填写“E:/”根盘目录 5.建议将所有的j相关的jar包放在某个文件夹中进行搜索 6.查看Class从那个jar...
jar包反编译工具 很实用! 功能特点: 1、XJad是基于Jad核心的Java源程序反编译软件,内置Jad1.5.8e2; 2、可处理多个*.class文件,可以处理文件夹内的所有文件,甚至可以处理*.jar文件; 3、带有多页面文本编辑器,...
1.列出指定路径下的所有Jar包文件 2.搜索分析指定路径下所有jar包中是否存在指定文件。譬方说要在jar包中查询目个**.class文件。用户可以不用打开Jar包,直接输入路径和要查找的文件即可搜索。 3.除了对Jar包进行...
本资源包换所有读取分析excel的jar包和我写的用这些包读取分析excel文件的两个.java文件。
能够让JAR包里面的文件依赖于统一版本的类文件。 可移植性,能够在各种平台上直接使用。 把一个JAR文件添加到系统的classpath环境变量之后,java通常会把这个JAR文件当做一个路径来处理。通常使用jar命令来压缩,...
分享自己做的的打包...2.如果一个项目中有相同的文件名字的补丁,程序自动弹出,然后您可以选择要打包的补丁文件路径 3.程序自动记录你的补丁生成历史,当你在下次打开工具时,会神奇的发现依然能看到上次的打包记录
TFTP示例和引用jar包文件 示例路径 :org\apache\commons\net\examples\ftp\TFTPExample.java
能够让JAR包里面的文件依赖于统一版本的类文件。 可移植性,能够在各种平台上直接使用。 把一个JAR文件添加到系统的classpath环境变量之后,java通常会把这个JAR文件当做一个路径来处理。通常使用jar命令来压缩,...
1、打开一个或者多个*.class文件,XJad反编译后,重命名为*.java文件, 保存至当前文件夹,并在编辑器中打开查看;... 并将源文件带包路径信息保存至当前文件夹下名称为“~” + *.jar 的文件夹中;
能够让JAR包里面的文件依赖于统一版本的类文件。 可移植性,能够在各种平台上直接使用。 把一个JAR文件添加到系统的classpath环境变量之后,java通常会把这个JAR文件当做一个路径来处理。通常使用jar命令来压缩,...
Apache的java压缩(解压)文件jar包; jar包的名字有些别扭叫ant.jar
能够让JAR包里面的文件依赖于统一版本的类文件。 可移植性,能够在各种平台上直接使用。 把一个JAR文件添加到系统的classpath环境变量之后,java通常会把这个JAR文件当做一个路径来处理。通常使用jar命令来压缩,...
-Dfile:指定jar文件的路径,这里是D:\kingbase8-8.6.0.jar。 -DgroupId:指定项目的groupId,这里是com.kingbase8。 -DartifactId:指定项目的artifactId,这里是kingbase8。 -Dversion:指定项目的版本号,这里...
能够让JAR包里面的文件依赖于统一版本的类文件。 可移植性,能够在各种平台上直接使用。 把一个JAR文件添加到系统的classpath环境变量之后,java通常会把这个JAR文件当做一个路径来处理。通常使用jar命令来压缩,...
能够让JAR包里面的文件依赖于统一版本的类文件。 可移植性,能够在各种平台上直接使用。 把一个JAR文件添加到系统的classpath环境变量之后,java通常会把这个JAR文件当做一个路径来处理。通常使用jar命令来压缩,...
能够让JAR包里面的文件依赖于统一版本的类文件。 可移植性,能够在各种平台上直接使用。 把一个JAR文件添加到系统的classpath环境变量之后,java通常会把这个JAR文件当做一个路径来处理。通常使用jar命令来压缩,...