一个txt文件放在jar中,txt文件的内容:078060*078058*078060*078058*078060*,请写出程序读取出78 、60、78、58……这样的数字.
解决方案 »
- Socket里面设置Timeout,时间未到就抛出read timed out异常。
- 关于JScrollPane的setVisible问题,急急急!
- MySql问题急急急!!!!!!!!!!!
- java中如何同时向父表和子表中插入数据记录?
- 近日看了一些关于大学的讨论贴,于是便做此贴,欢迎大家跟贴
- 老问题新问法:如何用面向对象的思想写关于JDBC数据库相关操作,大家给点建议。分不够再开贴。
- 调用Matlab中的函数怎么搞?
- Think in java question
- 带包的。JAVA文件的编译问题
- 我是新手,请来看看吧!(急)
- 高手在接招,100分,希望详细回答,此分只份一人.
- 抽象类和接口能不能共存与一个例子中?
import java.io.*;public class Test {
public static void main(String[] args) throws IOException {
JarFile jarFile = new JarFile("d:/temp/test.jar");
JarEntry dbEntry = jarFile.getJarEntry("test.txt");
InputStream in = jarFile.getInputStream(dbEntry); int count = 2;
int data = 0;
int num = 0; //保存读出来的数字
while ((data = in.read()) != -1) {
if (data != '*') {
num += Math.pow(10, count--) * (data - 48);
}
if (count == -1) {
System.out.println(num);
num = 0;
count = 2;
}
}
in.close();
jarFile.close();
}
}
得到的字符串数组里面的每个元素再分成两部分078,060,然后Integer.parseInt一下.
把对应的d:/temp/test.jar和test.txt改成你的就可以了
这句是什么意思啊?
data --> 读出来一个数字的assic码,减去48即数字值
一共三位数,则num = 读出第一位*100 + 读出第二位*10 + 读出第三位*1