我正在创建一个Java应用程序,我正在使用log4j.我已经给出了配置log4j文件的绝对路径以及生成的日志文件的绝对路径(生成此日志文件的位置).我可以在运行时通过以下方式获取Java Web应用程序的绝对路径:
String prefix = getServletContext().getRealPath("/");
Run Code Online (Sandbox Code Playgroud)
但在普通Java应用程序的上下文中,我们可以使用什么?
我如何从Android设备上获取apk文件?或者如何将apk文件从设备传输到系统?
我无处可寻.我从返回标准JSON日期的API中获取一些JSON.您可以通过在JavaScript控制台中运行此代码来查看格式:
> new Date().toJSON();
"2010-10-27T11:58:22.973Z"
Run Code Online (Sandbox Code Playgroud)
好吧,实际上,我正在使用的API不是返回毫秒部分,有时它会返回一个时区而不是Z,因此日期可能看起来像这些中的任何一个:
2010-10-27T11:58:22Z2010-10-27T11:58:22+03:00解析这些日期有点麻烦.有没有办法解析这些日期,使用org.json?
我目前的解决方案是:
public static Date parseDateTime(String dateString) {
if (dateString == null) return null;
DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ssZ");
if (dateString.contains("T")) dateString = dateString.replace('T', ' ');
if (dateString.contains("Z")) dateString = dateString.replace("Z", "+0000");
else
dateString = dateString.substring(0, dateString.lastIndexOf(':')) + dateString.substring(dateString.lastIndexOf(':')+1);
try {
return fmt.parse(dateString);
}
catch (ParseException e) {
Log.e(Const.TAG, "Could not parse datetime: " + dateString);
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
啊!
从以下格式发送字符串:
-----BEGIN RSA PUBLIC KEY-----
MIGHAoGBANAahj75ZIz9nXqW2H83nGcUao4wNyYZ9Z1kiNTUYQl7ob/RBmDzs5rY
mUahXAg0qyS7+a55eU/csShf5ATGzAXv+DDPcz8HrSTcHMEFpuyYooX6PrIZ07Ma
XtsJ2J4mhlySI5uOZVRDoaFY53MPQx5gud2quDz759IN/0gnDEEVAgED
-----END RSA PUBLIC KEY-----
Run Code Online (Sandbox Code Playgroud)
如何从此字符串构造PublicKey对象?尝试了以下删除页眉和页脚和base64解码缓冲区
public static PublicKey getFromString(String keystr) throws Exception
{
//String S1= asciiToHex(keystr);
byte[] keyBytes = new sun.misc.BASE64Decoder().decodeBuffer(keystr);
X509EncodedKeySpec spec =
new X509EncodedKeySpec(keyBytes);
KeyFactory kf = KeyFactory.getInstance("RSA");
return kf.generatePublic(spec);
}
Run Code Online (Sandbox Code Playgroud)
这可能会作为无效的密钥格式失败,也会失败
java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException: algid parse error, not a sequence
at sun.security.rsa.RSAKeyFactory.engineGeneratePublic(RSAKeyFactory.java:188)
at java.security.KeyFactory.generatePublic(KeyFactory.java:304)
at PublicKeyReader.getFromString(PublicKeyReader.java:30)
at Tst.main(Tst.java:36)
Run Code Online (Sandbox Code Playgroud)
密钥是通过openSSL的API生成的 PEM_write_bio_RSAPublicKey(bio, rsa);
我在我的应用程序中成功添加了AcroPDF.当需要显示PDF时,我动态创建一个AcroPDF实例,并将其插入TPanel,并将align设置为alClient.我的问题是,当表格/面板调整大小时,AcroPDF不会跟随.仅在加载新文件时.我尝试了几种解决方案无济于事.我该怎么办?
我想在SQL数据库表(SQLServer 2005)中存储一个整数值数组,如果可能的话,使用单个列.
整数数组的长度为7560.
我使用的是objectdatasource,数据类型应该与tableadapter生成的参数兼容.
谢谢你的帮助:)
我正在尝试跟踪我页面上的特定链接部分.我想知道点击了什么,所以我试图用jQuery设置一个点击处理程序,用Google Analytics注册一个自定义变量,但它不起作用.这是我的代码:
<!--Google Analytics-->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-18698622-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
$(function(){
$('a.link-item.bullet').click(function(){
_gaq.push(['_setCustomVar', 1, 'National Link', $(this).text(), 2]);
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
已经过了大约3或4天,我还没有看到任何自定义变量注册.也许我不能在自定义变量中包含变量($(this).text())?以前有人试过吗?
我的html中有以下代码:
<p id='foo' style='text-align:center; font-size:14pt; font-family:verdana; color:red'>hello world</p>
Run Code Online (Sandbox Code Playgroud)
在我的外部CSS中:
#foo{ font-size:11pt; font-family:arial; color:#000; }
Run Code Online (Sandbox Code Playgroud)
我想删除"style"属性中的所有"font-size"和"font-family",但不删除外部css中设置的"color"和其他内容.
结果预期:
<p id='foo' style='text-align:center; color:red'>hello world</p>
Run Code Online (Sandbox Code Playgroud)
已经尝试过:
$('#foo').removeAttr('style'); // That removes all inline
$('#foo').css('font-family',''); // That remove the css setted too
Run Code Online (Sandbox Code Playgroud) 我有一个git分支(称为v4),它是昨天由master制作的.掌握了一些变化,我想进入v4.因此,在第4版中,我尝试从master执行rebase,并且一个文件不断搞砸:一行文本文件,其中包含版本号.此文件是app/views/common/version.txt,在变基之前包含此文本:
v1.4-alpha-02
Run Code Online (Sandbox Code Playgroud)
这是我正在做的事情:
> git rebase master
First, rewinding head to replay your work on top of it...
Applying: new version, new branch
error: patch failed: app/views/common/version.txt:1
error: app/views/common/version.txt: patch does not apply
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging app/views/common/version.txt
CONFLICT (content): Merge conflict in app/views/common/version.txt
Failed to merge in the changes.
Patch failed at 0001 new version, new branch
When you have resolved this problem run …Run Code Online (Sandbox Code Playgroud) 我想有一个C预处理器宏,它知道到目前为止该宏的实例化/宏调用的数量.例:
int main() {
printf("%d\n", MACRO());
printf("%d\n", MACRO());
}
Run Code Online (Sandbox Code Playgroud)
应该打印
0
1
Run Code Online (Sandbox Code Playgroud)
这样的事情可能吗?
请注意,这是不足够转发给一个函数如下建议.它应该在以下环境中工作:
// global variable
std::vector<bool> calls_hit;
#define OTHER_MACRO() \
{ \
const int counter = MACRO(); \
calls_hit.resize(std::max(calls_hit.size(), counter)); \
calls_hit[counter] = true; \
}
Run Code Online (Sandbox Code Playgroud)