property父目录下(假设suncertify.properties亦位于此父目录)
运行
java suncertify.properties newProperty
无异常且属性已修改
运行
java suncertify.properties newProperty
无异常且属性已修改
解决方案 »
- static final int i;若不赋值就出错,求内存解释
- 单价*数量<>总额 java如何处理。
- JAVA 控制台创建GUI程序如何设置窗体背景?
- 见鬼了,客户端JavaMail-1.4偶尔出现 DEBUG SMTP: QUIT failed with 250
- 初学Java的人看精通Netbeans--Java桌面、Web、企业级程序开发适合吗?
- 两道脑残的JAVA考试题,方法是什么?对象是什么?大家请选择。
- jce 鉴别问题
- 请教Apache+Tomcat 重写转发的问题
- dom输出字符串问题???????
- 请教:用JUNIT都可以测试什么内容?
- System.getProperty("iscp932")什么意思,
- 被Properties折磨的快要死了,谁帮我要多少分就给多少。(up也送分)
运行
java -jar property.jar newproperty是错的,请问要怎样改?(打包命令:
jar cvfm property.jar MANIFEST.MF property suncertify.properties)
都试过了的
to www203(水户洋平):
我不太懂你的意思。
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Properties;public class Property {
public static void main(String[] args) {
Properties props = new Properties();
String filename = "suncertify.properties";
try {
InputStream is = Property.class.getResourceAsStream(filename);
props.load(is);
System.out.println(props.getProperty("a"));
System.out.println(props.getProperty("x"));
OutputStream out = new FileOutputStream(filename);
props.setProperty("a", "345345");
props.setProperty("x", "23423");
props.store(out, "mydoc");
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
File f = new File("./suncertify.properties");
还是不对呀,你加我QQ415009052,把你打包运行成功的发给我.
你们怎么都不来了,郁闷......
import java.util.*;
import java.net.*;
import java.io.*;
public class Property {
public static void main(String[] args) {
Properties props = new Properties();
URL url =ClassLoader.getSystemClassLoader().getResource("suncertify.properties");
try {
InputStream is = url.openConnection().getInputStream();
props.load(is);
System.out.println(props.getProperty("a"));
System.out.println(props.getProperty("x"));
OutputStream out=url.openConnection().getOutputStream();
props.setProperty("a",args[0]);
props.store(out,"mydoc");
out.close();
}
catch (Exception e)
{
System.err.print(e);
}
System.out.println(props.getProperty("a"));
System.out.println(props.getProperty("x"));
}
}改不了JAR中的文件abc
xyz
java.net.UnknownServiceException: protocol doesn't support outputabc
xyz转载:把配置文件打包在 executable jar 裡應該沒有辦法讓正在運行的 Java application(in executable jar)寫回資料。一個 executable jar 一旦運行後,JVM 會打開 jar,你就沒有辦法去修改/刪除這個 executable jar 本身。通常放置在 jar 裡的配置文件都是包含一些必要且不能變更的組態,至於次要可有可無的組態則由應用程式運行時再另外建立組態檔,通常是建立在 user.home 目錄下。缺了這些在 jar 外的組態檔應用程式還是可以正常運行,就好像他是第一次被執行一般。 用ZipInputStream和ZipOutputStream進行了測試,發現把Jar文件修改後再寫到臨時文件是可行的,在進行寫到原文件時有點不太方便。
还是谢谢你了,会送分给你的。在我印象当中运行jar包时会自动解压的,所以我的想法应该没错的。
打到包的文件是只读不写的。如果你的配置文件是比较固定的,可以打到包里去。
然后用resource方式读取。读取时需要注意你打包时的相对路径。
如果你需要在运行时修改这个配置文件,就不能把它打到包里去。应该在运行时用File一类的方式读取和更改。用File一类打开时,主目录就是你运行java程序的目录。
我上面给你的例子可以读包的文件但不能写到包里去的。会在包外创建一个文件。