Tag: 属性文件

为什么不将所有.properties文件转换为UTF-8?

我在一个java项目上工作,其中标签被外部化并翻译成.properties文件。 使用ISO-8859-1编码读取java中的资源,因此.properties文件也以ISO-8859-1编码存储。 当前文件搞砸了,有时使用转义\u00E4 ,有时使用实际的字母öäü 。 我也有俄语翻译,看起来像这样: code.adr=\u0430\u0434\u0440\u0435\u0441 这可以使用UTF-8以明文forms存储。 现在的问题是,为什么不使用UTF-8? 为什么Java默认使用ISO-8859-1而不是UTF-8,向后兼容性? 有没有已知的缺点,将所有.properties文件转换为UTF-8?

.properties文件是否适合存储分层设置 – 对象?

我的任务是负责工作,需要持久的客户端设置。 这些设置由我正在实现的框架的C#版本中的XML文件表示,它表示具有最多六个级别的层次结构的对象。 此外,不同级别中的对象数有时是任意的,如ArrayList。 遗憾的是,对象序列化不是一种选择,因为需要能够直接编辑文件。 我不得不将这些设置的持久性实现为.properties文件,但我担心这是否是一个好主意。 据我所知,.properties文件只能以与HashMap相同的方式使用,只有字符串的键值配对。 复杂对象的表示似乎只能用长而复杂的关键字符串表示,它代表每个元素的整个“路径”,包括它可能在几个列表中的单个索引。 filters.filter3.traces.rule4.add1.value=”8″ 我还没有找到任何可行的方法来在.properties文件中保留分层对象,但我也无法找到任何明确证据表明它不可能。 那么,.properties文件是否适合存储分层设置 – 对象? 或者我应该将我的属性实现为XML文件或JSON?

使用Java Config的全局CORS配置不起作用

我正在努力使用Java配置来运行Global CORS配置。 我不确定它是否是一个已知问题,因为其他人也有同样的问题: Spring Global CORS配置不起作用但控制器级别配置没有 无论如何,让我进一步阐述我想要做的事情: 我正在使用Spring 4.2.3.RELEASE(没有弹簧启动)。 我正在尝试使用Java配置配置全局CORS配置,以便我可以使用属性文件中的@Value注入CORS域(allowed-Origin)。 因为据我所知,我不能在mvc xml名称空间中为allowed-origin注入值,如下图所示(如果您知道任何其他解决此问题的方法,请告诉我): 从Spring参考文档这里 ,我试图使用java配置来配置Global CORS来解决问题。 但是,我无法让CORS工作。 代码在应用程序启动期间调用,但客户端的调用始终返回 请求的资源上不存在“Access-Control-Allow-Origin”标头。 因此不允许Origin’http:// localhost:3000 ‘访问 @Configuration @EnableWebMvc public class WebConfig extends WebMvcConfigurerAdapter { @Value(“${vrm.cors.domain}”) //vrm.cors.domain=/** private String corsDomain; @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping(“/**”). .allowedOrigins(vrm.cors.domain); } }

Java属性,获取文件路径

logpath = LoggerUtils.getProperties().getProperty(“log.path”); System.out.println(“logpath: ” + logpath); 上面的代码返回: logpath: C:UsersMauriceDesktopLogs 在属性文件中是: log.path C:\Users\Maurice\Desktop\Logs 如何保留文件分隔符? 我希望这也适用于Linux,而不仅仅是Windows。

如何在编译时使用属性文件创建动态接口?

这里的问题是我们使用的属性文件具有非常大的名称作为密钥,我们大多数人遇到错误的键命名问题。 所以它让我思考是否有办法基于属性文件生成以下接口。 我们对属性文件所做的每个更改都将自动调整Properties接口。 还是有其他解决方案吗? 属性文件 A=Apple B=Bannana C=Cherry 应该生成以下接口 interface Properties{ public static final String A = “A” // keys public static final String B = “B”; public static final String C = “C”; } 在我的应用程序代码中 String a_value = PROP.getString(Properties.A);

如何将新数据附加到属性文件中的现有数据?

我使用以下代码将数据写入属性文件 public void WritePropertiesFile(String key, String data) { Properties configProperty = new Properties(); configProperty.setProperty(key, data); File file = new File(“D:\\Helper.properties”); FileOutputStream fileOut = new FileOutputStream(file,true); configProperty.store(fileOut, “sample properties”); fileOut.close(); } I am calling the above method 3 times as follows: help.WritePropertiesFile(“appwrite1″,”write1”); help.WritePropertiesFile(“appwrite2″,”write2”); help.WritePropertiesFile(“appwrite3″,”write3”); 但是,Helper.properties文件中的数据显示如下: #sample properties #Mon Jul 01 15:01:45 IST 2013 appwrite1=write1 #sample properties […]

如何以定义的顺序编写Java属性?

我正在使用java.util.Properties的store(Writer,String)方法来存储属性。 在生成的文本文件中,属性以偶然的顺序存储。 这就是我正在做的事情: Properties properties = createProperties(); properties.store(new FileWriter(file), null); 如何确保按字母顺序或按属性添加顺序写出属性? 我希望解决方案比“手动创建属性文件”更简单。