小编Jas*_*n S的帖子

将.properties文件放在Eclipse项目中的位置?

我有一个非常简单的属性文件测试我试图工作:(以下是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)

难道我做错了什么?

java eclipse properties

14
推荐指数
2
解决办法
6万
查看次数

访问.jar外的属性文件?

我有一个.jar文件,我正在整理.我想创建一个非常简单的.properties文件,其中包含用户名和其他内容等可配置的东西,这样他们就可以手工编辑而不是必须包含GUI编辑器.

我想做的是能够按以下顺序搜索:

  1. 指定的属性文件(args[0])
  2. 当前目录中的MyApp.properties(调用Java的目录)
  3. 用户目录中的MyApp.properties(user.home系统属性?)
  4. 存储应用程序.jar的目录中的MyApp.properties

我知道如何访问#1和#3(我认为),但如何在运行时#2和#4确定?

java jar properties

14
推荐指数
3
解决办法
2万
查看次数

Matcher.appendReplacement与文字文本

我正在使用Matcher.appendReplacement()并且它工作得很好,直到我的替换字符串中有2美元:

请注意,替换字符串中的反斜杠(\)和美元符号($)可能会导致结果与将其视为文字替换字符串时的结果不同.如上所述,美元符号可被视为对捕获的子序列的引用,反斜杠用于替换替换字符串中的文字字符.

是否有一个方便的方法可以逃避所有反斜杠\和美元符号$反斜杠?或者我必须自己写一个?这听起来不是那么难,只要他们给你一个> :(

编辑:因为他们确实给你一个,我需要replace(">:(", ":-)");

java regex

14
推荐指数
3
解决办法
4720
查看次数

restructuredText中的符号

我想在restructuredText中使用一些符号; 我怎样才能做到这一点?(例如,→在Markdown中产生标准HTML字符实体列表中定义的"→"符号- 另请参阅w3c参考)

注意:我不想要求数学公式支持作为依赖项.

markup restructuredtext

14
推荐指数
2
解决办法
5824
查看次数

java:循环上两个布尔值(false,true)

这是一个风格问题.我想用一个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)

java loops boolean

14
推荐指数
2
解决办法
8666
查看次数

xslt:与元素关联的文本的值

如果我有一个包含的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属性,但是它无法获取文本,我想我错过了一些明显的东西,但我不知道是什么.

xml xslt

14
推荐指数
2
解决办法
4万
查看次数

嵌入式系统的"唯一性"/熵的来源

我有一个嵌入式系统.我希望它在启动或以其他方式重置时要做的是生成唯一ID,以便在不同的重启时生成不同的唯一ID,概率很高.

它无法访问实时时钟,但可以访问ADC和UART.我想知道是否有一种不错的方法从这些来源收集熵以生成唯一的ID.我对亚罗很模糊.有一个很好的方法来使用它吗?

不幸的是,我没有任何可预测特征的噪声源; ADC连接到许多相对低噪声的输入,所以我想我可以使用ADC的最低有效位作为输入.

编辑:对于它的价值,这是TI TMS320F28335处理器.


更新/澄清:我正在寻找一种收集熵的软件方法.我找到了解决问题的另一种方法,所以在某种程度上,我的问题是一个没有实际意义的问题,但我仍在寻找有关特定软件解决方案的指导,以便从低熵源(如ADC和系统的最低有效位)收集熵接收UART字符的时间.

random embedded entropy uniqueidentifier

14
推荐指数
1
解决办法
1654
查看次数

在java/swing中关闭窗口时采取的正确行动是什么?

我刚在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 swing dialog

14
推荐指数
1
解决办法
1万
查看次数

Java:不可变类的伪setter方法

假设我在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对象.然而,调用构造函数或创建构建器或其他任何东西都很麻烦.因此,我希望提供此方法以方便脚本编写客户端.

java immutability

14
推荐指数
2
解决办法
3046
查看次数

python:在open()获得的流上使用io.BufferedReader?

我想使用缓冲流,因为我想使用一个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()函数不会返回与它兼容的东西?

python io buffered python-2.7

14
推荐指数
2
解决办法
4万
查看次数