!!带有文件操作的JAR打包问题!!非常急!!!

问题描述

问题描述:只是一个简单的测试程序,程序是由很简单的GUI界面组成,只是一个JTextArea加在一个JPanel里面然后把JPanel加在JFrame上。然后在文件夹File里面有一个file.txt文件。程序的功能就是从这个txt文件夹里面读取内容然后显示到JTextArea里面。用eclipse编译后,运行没有问题。开始用命令打包打包。建立一个新的文件夹Test,然后把编译好的Test.class,文件夹File放入Test文件夹。然后再在Test文件夹下创建一个MANIFEST.MF文件,内容为:Manifest-Version:1.0Main-Class:Test这个说明文件的格式肯定正确。进入CMD,进入到Test文件夹,输入打包命令,jarcmfMANIFEST.MFTest.jarTest.classFile打出来的包双击能够运行,可是没有读取到文件file.txt里面的内容,就是JTextArea是空的(之前在ECLIPSE运行没有问题)。然后我把File的一个复制文件夹放在与Test.jar平级的目录下又能读了。从道理上说程序应该从JAR文件里面的File->file.txt里面读取内容的。jar文件的目录有Test.classFile->file.txtMITA-INF->MANIFEST.MF(MANIFEST.MF内容为:Manifest-Version:1.0Main-Class:Test问题的大概就是这样。为什么不能从JAR里面的文件夹读取我要的文件内容呢?还是我有什么地方错了?请高手们指点一下~~!本人弄这个问题弄得要气短身亡了!!!!!!!还有我用ECLIPSE导出来的JAR包是一个问题。。。。高手们来吧!!!!!

解决方案

解决方案二:
怎么没有高人来回答一下呢?谢谢啊~
解决方案三:
你怎么打开的文件啊..用相对路径..
解决方案四:
当然使用相对路径咯File/file.txt为什么不行我就很郁闷
解决方案五:
应该是这个文件的路径有问题。路径应该是基于classpath的(因为是在jar中),而不能是file路径(传统的绝对或相对路径)
解决方案六:
用fat.jar打包
解决方案七:
我也遇到过同样的问题,不过我的是图片显示不出来,jar包我放在桌面,我把图片放在桌面才显示出来。顶顶!!
解决方案八:
1.假设你的file.txt放在jar下面的位置为:source/file.txt读取这个文件时候要这样写InputStreamis=getClass().getResourceAsStream("source/file.txt");2.如果文件是放在包com.test下而且文件读取类也是放在com.test包下则有二种写法:InputStreamis=getClass().getResourceAsStream("com/test/file.txt");或者:InputStreamis=getClass().getResourceAsStream("file.txt");3.如果你的文件是放在和jar平级的目录下或子目录下(比如jar放在c:javaapptest.jar文件:c:javaapp\file.txt或者c:javaappsourcefile.txt)Filefile=newFile("file.txt");或者Filefile=newFile("source/field.txt");FileInputStreamfis=newFileInputStream(file);因此你如果要读取jar中文件要按照1或者2去做
解决方案九:
7楼正解
解决方案十:
路过学习
解决方案十一:
7楼有道理。哈哈

时间: 2024-10-01 15:27:35

!!带有文件操作的JAR打包问题!!非常急!!!的相关文章

jar打包文件部分解释

jar 打包文件部分解释 windows下的命令举例: jar cvfm classes.jar manifest.mf -C A B1 B2 B3 这个命令的意思是: c 创建新的归档文件,它指定了 "classes.jar" v 在标准输出中生成详细输出,它指定了在标准输出中的一系列打包文件名 f 指定归档文件名 它指定了"classes.jar"这个名字 m包含指定清单文件中的清单信息 它指定了"manifest.mf"文件 C 更改为指定

Windows Dos命令 jar打包文件,jar打包文件夹

Windows Dos命令 jar打包文件,jar打包文件夹 项目上线之后,版本的迭代必不可少,但是怎么做才是规范,安全的呢? 当然原项目备份是必不可少的了: 比如我的项目名是 Wechat (我使用的tomcat服务器,所以该项目Wechat默认在 webapps 文件夹中) 首先对原项目打包:tar cvf wechat20150315.tar WeChat [root@iZ23whn33jnZ webapps]# tar cvf wechat20150315.tar WeChat WeCh

利用ASP的文件操作实现用户管理

用户管理 简单.好用.开发效率高等等是ASP的优点,但是其系统操作方面如文件操作等则 是比较微弱的.要想实现这方面的功能,只有采取调用组件的办法. FileSystemObject对象就是一个例子.ASP安装后,该对象就在系统中注册了.不过其功能也非常一般,只能操作文本类型的文件.不过也可以满足我们的一些需要了.前几天我的一个同事的一个朋友在网上申请了一个支持ASP的空间,想实现诸如用户注册.信息修改.用户注销等功能,又不想用数据库来实现,因为要进行一大堆的设置.其实利用FileSystemOb

NSIS使用教程(安装包制作安装文件教程,如何封装打包文件) 中文版

原文:NSIS使用教程(安装包制作安装文件教程,如何封装打包文件) 中文版 nsis中文版(Nullsoft Scriptable Install System)是一个专业的开源的可以用来封闭Windows程序的实用工具,是一个开源的 Windows 系统下安装程序制作程序.nsis它功能强,源码是直接使用C语言编写而成,并且可以直接到nsis官网下载所有nsis版本,并且提供了详细的帮助文档,方便用户制作时使用.安装页面可以使用Page自定义界面.卸载页面可以配置让用户选择是否删除用户文件.系

Python中shutil模块的常用文件操作函数用法示例_python

os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作.比如说:绝对路径,父目录--  但是,os文件的操作还应该包含移动 复制  打包 压缩 解压等操作,这些os模块都没有提供. 而本文所讲的shutil则就是对os中文件操作的补充.--移动 复制  打包 压缩 解压, shutil函数功能:1  shutil.copyfileobj(fsrc, fdst[, length=16*1024]) copy文件内容到另一个文件,可以copy指定大小的内容 先来看看

Java进阶学习:jar打包详解_Java编程

文章来源:pconline 作者:fivesky jar文件听说过吗,没有?或者陌生!好,没关系,这就是我们的第一站:打包发布. 为什么会有这个玩意呢,首先,这是jar的全称:JavaTM Archive (JAR) file,是的,就是java存档文件.这有点类似zip文件,想一想它是干什么的用的呢,压缩!?没错就是要压缩,将我们原先零散的东西放到一下,重新组织,所有这些目的只有一个:方便!好了,不用管他是怎么压缩的,我们的重点是哪些是我们要压缩的(输入),还有压缩成了什么(输出),进而将它发

Jar打包用法详解_java

本文较为详细的分析了Jar打包的用法.分享给大家供大家参考.具体分析如下: jar是标准的java打包命令,位于JAVA_HOME/bin/目录下面.主要功能是将多个文件打包成一个单独的jar文件. 创建jar文件 复制代码 代码如下: jar c[v0Mmfe] [manifest] [jarfile] [entrypoint] [-C dir] inputfiles [-Joption] 更新jar文件 复制代码 代码如下: jar u[v0Mmfe] [manifest] [jarfile

java基础入门之IO文件操作

Java的读文件和写文件都是基于字符流的,主要用到下面的几个类: 1.FileReader----读取字符流 2.FileWriter----写入字符流 3.BufferedReader----缓冲指定文件的输入 该类的方法有: void close()  关闭该流. void mark(int readAheadLimit)  标记流中的当前位置. boolean markSupported()  判断此流是否支持 mark() 操作(它一定支持) int read() 读取单个字符. int

java下html导出pdf文件,换jar包的后如何解决出现的问题???

问题描述 java下html导出pdf文件,换jar包的后如何解决出现的问题??? 项目有个问题,页面动态导出pdf,用了itext2.0.8jar core-renderer.jar iTextAsian.jar 包,正确生成pdf文件. 由于项目原来使用了iText-2.1.4.jar包,经理不许jar降级,先在是修改iText-2.1.4.jar包中package com.lowagie.text.pdf; BaseFont.java文件中的getCharBBox方法 2.08传的字符,其