我正在使用NetBeans,尝试将熟悉的Java咖啡杯图标更改为我保存在jar文件的资源目录中的png文件.我发现许多不同的网页声称他们有解决方案,但到目前为止,他们都没有工作.
这是我现在所拥有的(省略try-catch块):
URL url = new URL("com/xyz/resources/camera.png");
Toolkit kit = Toolkit.getDefaultToolkit();
Image img = kit.createImage(url);
getFrame().setIconImage(img);
Run Code Online (Sandbox Code Playgroud)
包含此代码的类在com.xyz包中,如果这有任何区别.该类还扩展了JFrame.此代码在第一行抛出MalformedUrlException.
有人有解决方案吗?
我很难找到一个如何使用Element Tree在python中解析XML的基本示例.根据我的发现,这似乎是用于解析XML的最简单的库.以下是我正在使用的XML示例:
<timeSeriesResponse>
<queryInfo>
<locationParam>01474500</locationParam>
<variableParam>99988</variableParam>
<timeParam>
<beginDateTime>2009-09-24T15:15:55.271</beginDateTime>
<endDateTime>2009-11-23T15:15:55.271</endDateTime>
</timeParam>
</queryInfo>
<timeSeries name="NWIS Time Series Instantaneous Values">
<values count="2876">
<value dateTime="2009-09-24T15:30:00.000-04:00" qualifiers="P">550</value>
<value dateTime="2009-09-24T16:00:00.000-04:00" qualifiers="P">419</value>
<value dateTime="2009-09-24T16:30:00.000-04:00" qualifiers="P">370</value>
.....
</values>
</timeSeries>
</timeSeriesResponse>
Run Code Online (Sandbox Code Playgroud)
我能够使用硬编码方法做我需要的事情.但我需要我的代码更有活力.这是有效的:
tree = ET.parse(sample.xml)
doc = tree.getroot()
timeseries = doc[1]
values = timeseries[2]
print child.attrib['dateTime'], child.text
#prints 2009-09-24T15:30:00.000-04:00, 550
Run Code Online (Sandbox Code Playgroud)
以下是我尝试过的一些事情,其中没有一个有效,报告说他们找不到时间序列(或我尝试过的任何其他内容):
tree = ET.parse(sample.xml)
tree.find('timeSeries')
tree = ET.parse(sample.xml)
doc = tree.getroot()
doc.find('timeSeries')
Run Code Online (Sandbox Code Playgroud)
基本上,我想加载xml文件,搜索timeSeries标记,并遍历值标记,返回dateTime和标记本身的值; 我在上面的例子中所做的一切,但不是硬编码我感兴趣的xml部分.有人能指出我的一些例子,或者给我一些关于如何解决这个问题的建议?
谢谢你的帮助.使用以下两个建议对我提供的示例文件起作用,但是,它们不能在完整文件上工作.这是我使用Ed Carrel的方法从真实文件中得到的错误:
(<type 'exceptions.AttributeError'>, AttributeError("'NoneType' object has no attribute 'attrib'",), <traceback object at 0x011EFB70>)
Run Code Online (Sandbox Code Playgroud)
我认为在它不喜欢的真实文件中有一些东西,所以我逐渐删除了东西直到它工作.以下是我更改的行: …
给定一个字符串s,生成一组所有唯一子串的最快方法是什么?
示例:因为str = "aba"我们会得到substrs={"a", "b", "ab", "ba", "aba"}.
朴素算法将遍历1..n每个迭代中生成长度的子串的整个字符串,产生O(n^2)上限.
更好的约束可能吗?
(这是技术上的功课,所以也欢迎指针)
ls /home/user/new/*.txt打印该目录中的所有txt文件.但是它打印输出如下:
[me@comp]$ ls /home/user/new/*.txt
/home/user/new/file1.txt /home/user/new/file2.txt /home/user/new/file3.txt
Run Code Online (Sandbox Code Playgroud)
等等.
我想运行ls命令不是从/home/user/new/目录运行,因此我必须提供完整的目录名称,但我希望输出只作为
[me@comp]$ ls /home/user/new/*.txt
file1.txt file2.txt file3.txt
Run Code Online (Sandbox Code Playgroud)
我不想要整个路径.只需要文件名.这个问题必须使用ls命令解决,因为它的输出是针对另一个程序的.
当我回显var_dump($ _ variable)时,我得到一条长的包装线,包含所有的varable和值
["kt_login_user"]=> string(8) "teacher1" ["kt_login_id"]=> string(3) "973" ["kt_campusID"]=> string(4) "9088" ["kt_positionID"]=> string(1) "5"
Run Code Online (Sandbox Code Playgroud)
有没有办法让每个值都显示在自己的行上以便于阅读?像这样的东西:
["kt_login_user"]=> string(8) "teacher1"
["kt_login_id"]=> string(3) "973"
["kt_campusID"]=> string(4) "9088"
["kt_positionID"]=> string(1) "5"
Run Code Online (Sandbox Code Playgroud) 有人可以解释Perl中字符串"0但是真"的含义吗?据我所知,它在整数比较中等于零,但在用作布尔值时求值为true.它是否正确?这是语言的正常行为还是在解释器中作为特殊情况处理的特殊字符串?
我希望用Java实现一个简单的XMPP服务器.
我需要的是一个可以解析和理解来自客户端的xmpp请求的库.我看过Smack(下面提到)和JSO.Smack似乎只是客户端,所以虽然它可能有助于解析数据包,但它不知道如何响应客户端.JSO是否保持它看起来很旧.唯一有希望的途径是拆分Openfire,这是一个完整的商业(OSS)XMPP服务器.
我只是希望Netty或Mina上面有几行代码,所以我可以开始处理一些消息.
乔 -
那么我想要做的事情的答案有点长 - 我会尽量保持简短.
有两件事,只是松散相关:
1)我想编写一个XMPP服务器,因为我想为两个客户端编写自定义协议进行通信.基本上我在想一个联网的iPhone应用程序 - 但我不想依赖低级二进制协议,因为使用类似XMPP的东西意味着应用程序可以从基于本地wifi的应用程序快速"成长"到基于互联网的应用程序...
交换的消息应该是相对较低的延迟,所以严格来说二进制协议是最好的,但我觉得如果XMPP没有引入太多开销以便我可以使用它然后获得它的可扩展性的好处,那么值得探索.和以后的灵活性.
2)我为兵马俑工作 - 所以我有这种疯狂的想法聚集一切.我一开始考虑编写一些自定义服务器代码,我想我想将它集群化.Terracotta使得Java POJO的扩展变得微不足道,所以我的想法是构建一个超级简单的XMPP服务器作为Terracotta的演示应用程序.基本上每个用户都将通过TCP连接连接到服务器,这将用户注册到散列映射.每个用户都有一个LinkedBlockingQueue,其中一个侦听器线程从队列中获取消息.然后,任何想要向任何其他用户(例如任何旧的聊天应用程序)发送消息的连接用户只需通过该连接向该用户发出XMPP消息(照常).服务器选择它,在地图中查找相应的用户对象并将消息放入队列.由于队列是群集的,
所以 - 我不害怕总结.但这就是我想要做的.我想我可以为Openfire编写一个插件来完成#1,但我认为它需要处理很多管道,因此很难做到#2(特别是因为我希望有一小部分代码能够适应简单的10-20kb Maven项目).
我需要知道人们用什么方法无线地分发(内部)iPad应用程序的演示而不必管理UDID?
我不需要像testflight或betabuilder这样的解决方案,所有这些都要求我在apple provisioning配置文件门户中管理UDID.
我问这个问题,因为我看到了另一个工作室做一个更聪明的方式,现在,我想知道他们是如何做到的 - 随着他们给了我们一个链接,我们可以从一个简单的HTML在空中安装的演示应用程序,和配置文件神奇地出现在我的iPad上.所有这一切都发生在没有我告诉他们我的iPad的UDID,因此绝对没有他们重新编译项目.
他们是如何做到的呢?
最近我挑战我的同事写一个算法来解决这个问题:
找到所需的最少数量的硬币,可以从1到99美分进行任何更改.硬币只能是硬币(1),镍币(5),硬币(10)和四分之一(25),你必须能够使用这些硬币从1到99(以1美分为增量)制作每个值.
然而,我意识到我自己并不知道如何在不检查每种可能的硬币组合的情况下自己做到这一点.必须有一种更好的方法来解决这个问题,但我不知道这种类型的算法的通用名称会被调用,除了查看每个解决方案之外,我无法找到简化它的方法.
我想知道是否有人能指出我正确的方向,或提供更有效的算法.