我有一个非常简单的属性文件测试我试图工作:(以下是TestProperties.java)
package com.example.test;
import java.util.ResourceBundle;
public class TestProperties {
public static void main(String[] args) {
ResourceBundle myResources =
ResourceBundle.getBundle("TestProperties");
for (String s : myResources.keySet())
{
System.out.println(s);
}
}
}
Run Code Online (Sandbox Code Playgroud)
和TestProperties.properties在同一目录中:
something=this is something
something.else=this is something else
Run Code Online (Sandbox Code Playgroud)
我也保存为 TestProperties_en_US.properties
当我从Eclipse运行TestProperties.java时,它找不到属性文件:
java.util.MissingResourceException:
Can't find bundle for base name TestProperties, locale en_US
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?
我有一个.jar文件,我正在整理.我想创建一个非常简单的.properties文件,其中包含用户名和其他内容等可配置的东西,这样他们就可以手工编辑而不是必须包含GUI编辑器.
我想做的是能够按以下顺序搜索:
args[0])我知道如何访问#1和#3(我认为),但如何在运行时#2和#4确定?
我正在使用Matcher.appendReplacement()并且它工作得很好,直到我的替换字符串中有2美元:
请注意,替换字符串中的反斜杠(\)和美元符号($)可能会导致结果与将其视为文字替换字符串时的结果不同.如上所述,美元符号可被视为对捕获的子序列的引用,反斜杠用于替换替换字符串中的文字字符.
是否有一个方便的方法可以逃避所有反斜杠\和美元符号$反斜杠?或者我必须自己写一个?这听起来不是那么难,只要他们给你一个> :(
编辑:因为他们确实给你一个,我需要replace(">:(", ":-)");
我想在restructuredText中使用一些符号; 我怎样才能做到这一点?(例如,→在Markdown中产生标准HTML字符实体列表中定义的"→"符号- 另请参阅w3c参考)
注意:我不想要求数学公式支持作为依赖项.
这是一个风格问题.我想用一个on设置为false 的变量循环两次,然后变为true.其中哪一个更清楚:
一个)
for (final boolean on : new boolean[] { false, true} )
{
doStuffBasedOnABooleanFlag(on);
}
Run Code Online (Sandbox Code Playgroud)
B)
for (int i = 0; i < 2; ++i)
{
final boolean on = (i == 1);
doStuffBasedOnABooleanFlag(on);
}
Run Code Online (Sandbox Code Playgroud)
C)别的东西
编辑:墨菲的无意识解释定律开始发挥作用......我原来看起来像这样的用例而不是doStuffBasedOnABooleanFlag:
for (final boolean on : new boolean[] { false, true} )
{
JButton button = on ? onButton : offButton;
button.addActionListener(new ActionListener() {
@Override public void actionPerformed(ActionEvent event) {
doStuffLaterBasedOnABooleanFlag(on);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我想我喜欢Brendan的答案,我只是将循环内容重构为一个单独的方法:
doStuffBasedOnABooleanFlag(false);
doStuffBasedOnABooleanFlag(true);
...
private void …Run Code Online (Sandbox Code Playgroud) 如果我有一个包含的XML文件
<param name="foo" value="5000" >foo is a way of making pasta sauce</param>
<param name="bar" value="3000" >bar is controlling the beer taps</param>
Run Code Online (Sandbox Code Playgroud)
我想使用XSLT将其处理成HTML文件,其中包含name和value属性以及文本作为描述,如何获取XML节点文本?
<xsl:for-each select="param">
<tr>
<td><xsl:value-of select="@name"/></td>
<td><xsl:value-of select="@value"/></td>
<td><xsl:text> </xsl:text></td>
</tr>
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)
上面的XSLT片段确实成功获取了name和value属性,但是它无法获取文本,我想我错过了一些明显的东西,但我不知道是什么.
我有一个嵌入式系统.我希望它在启动或以其他方式重置时要做的是生成唯一ID,以便在不同的重启时生成不同的唯一ID,概率很高.
它无法访问实时时钟,但可以访问ADC和UART.我想知道是否有一种不错的方法从这些来源收集熵以生成唯一的ID.我对亚罗很模糊.有一个很好的方法来使用它吗?
不幸的是,我没有任何可预测特征的噪声源; ADC连接到许多相对低噪声的输入,所以我想我可以使用ADC的最低有效位作为输入.
编辑:对于它的价值,这是TI TMS320F28335处理器.
更新/澄清:我正在寻找一种收集熵的软件方法.我找到了解决问题的另一种方法,所以在某种程度上,我的问题是一个没有实际意义的问题,但我仍在寻找有关特定软件解决方案的指导,以便从低熵源(如ADC和系统的最低有效位)收集熵接收UART字符的时间.
我刚在CustomUIPanel类中编写了这个测试代码:
public static void main(String[] args) {
final JDialog dialog = CustomUIPanel.createDialog(null,
CustomUIPanel.selectFile());
dialog.addWindowListener(new WindowAdapter() {
@Override public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
Run Code Online (Sandbox Code Playgroud)
它是正确的,如果CustomUIPanel.main()是程序的入口点,但它让我想知道:如果另一个类要求CustomUIPanel.main()测试怎么办?然后我的电话System.exit(0)是不正确的.
如果没有顶级窗口,有没有办法告诉Swing事件调度线程自动退出?
如果不是,如果目标是让所有顶级窗口关闭时程序退出,那么JDialog/JFrame在关闭时做什么是正确的?
假设我在Java中有一个具有不可变数据的类Foo:
class Foo {
final private int x;
public int getX() { return this.x; }
final private OtherStuff otherstuff;
public Foo(int x, OtherStuff otherstuff) {
this.x = x;
this.otherstuff = otherstuff;
}
// lots of other stuff...
}
Run Code Online (Sandbox Code Playgroud)
现在我想添加一个实用程序方法,该方法创建一个具有相同状态但具有新值x的"兄弟"值.我可以称之为setX():
class Foo
{
...
Foo setX(int newX) { return new Foo(newX, this.otherstuff); }
...
}
Run Code Online (Sandbox Code Playgroud)
但是语义与setX()可变bean对象的标准setter约定不同,所以不知怎的,这感觉不对.
这种方法的最佳名称是什么?
我应该把它withX()或者newX()还是其他什么东西?
编辑:在我的情况下的额外优先级:我有脚本客户端(通过JSR-223和我导出的对象模型),可以轻松获取Foo对象.然而,调用构造函数或创建构建器或其他任何东西都很麻烦.因此,我希望提供此方法以方便脚本编写客户端.
我想使用缓冲流,因为我想使用一个peek()方法来提前查看,但使用我的流与另一个需要类文件对象的方法.(我使用seek()但可能必须处理不支持随机访问的管道输入I/O.)
但是这个测试用例失败了:
AttributeError:'file'对象没有属性'_checkReadable'
import sys
import io
srcfile = sys.argv[1]
with open(srcfile, 'rb') as f:
fbuf = io.BufferedReader(f)
print fbuf.read(20)
Run Code Online (Sandbox Code Playgroud)
发生了什么,我该如何解决?我以为BufferedReader旨在缓冲流.如果是这样,为什么open()函数不会返回与它兼容的东西?