java String和String Builder问题

我正在开发一个项目,我必须从PHP服务器解密xml文本并解析为java,我已经使用CipherInputStream解密了xml文本,看到xml文件完全打印,但我面临一个奇怪的问题而试图将xml文本存储在java字符串中,我正在处理以下代码: public String decrypt(InputStream Fis){ Cipher c = Cipher.getInstance(algo + “/CBC/NoPadding”); String add = “”; StringBuilder getAns = new StringBuilder(); c.init(Cipher.DECRYPT_MODE, key); CipherInputStream cis = new CipherInputStream(Fis , c); byte[] encData = new byte[16]; int dummy; while ((dummy = cis.read(encData)) != -1) { System.out.println(new String(encData, “UTF-8”).trim()); add = (new String(encData, “UTF-8”).trim()); getAns.append(add); } System.out.println(getAns); … […]

如何在WCF Web服务中关闭SecureConversationToken

我有一个带WS- *安全性的WCF Web服务,我需要使用WSS4J API为它编写Java客户端。 但是,事实certificate,WSS4J不支持和标记,这些标记特定于WS-SecureConversation。 有没有办法通过代码或更好的方式通过web.config关闭它? 更新: 服务定义: 行为和约束:

pdfbox和itext使用不正确的dpi提取图像

当我使用pdfbox提取图像时,我得到的图像的dpi不正确。 当我使用Photoshop或Acrobat Reader Pro提取图像时,我可以看到使用Windows照片查看器的图像的dpi为200,但是当我使用pdfbox提取图像时,dpi为72。 为了提取图像我使用以下代码: 无法从PDFA1-格式文档中提取图像 当我查看日志时,我看到一个不寻常的条目:2015-01-23-main – DEBUG-org.apache.pdfbox.util.TIFFUtil: 我尝试谷歌,但我可以看到通过此日志找出pdfbox的含义。 这是什么意思? 您可以从以下链接下载带有此问题的示例pdf: http : //myslams.com/test/1.pdf 我甚至尝试过itext,但是用96 dpi提取图像。 难道我做错了什么? 或pdfbox和itext有这个限制?

在Java中处理未接受的方法参数最好的是什么?

当你在一个DAO对象中写一个方法,并且你不希望这个方法接受某些输入时,为了讨论起见,说它不允许空参数。 你如何实现这一点,考虑到这种方法将来可能会被新的团队成员重用。 我这样做的方式是: 在接口中,我在方法javadoc中记录了参数a,b和c不能为null。 在方法内部,我首先检查空值,如果a,b或c中的任何一个为null,则抛出IllegalArgumentException。 但是,如果未来的一些开发人员只是读取方法签名并决定它需要什么并开始使用它,而不关注这个细节,更糟糕的测试并没有揭示它。 不会发生NULL指针exception,我们收到一条有用的错误消息,但是我们仍然会在生产中遇到一个可以避免的错误。 有没有办法在编译时强制执行此操作? 我对此表示怀疑,但这样做最安全,最糟糕的开发人员方法是什么?

如何自定义PicketLink AuthenticationFilter?

我在我的Web应用程序上安装并运行了PicketLink,但似乎无法按组或角色保护文件夹等资源。 PicketLink AuthenticationFilter(org.picketlink.authentication.web.AuthenticationFilter)没有提供任何方式来说明哪个url-pattern属于哪个组或角色。 如何保护管理目录,以便只有管理员组中的用户可以访问它? 现在,如果您已登录,则可以访问所有内容。 web.xml文件: PicketLinkAuthenticationFilter org.picketlink.authentication.web.AuthenticationFilter authType FORM PicketLinkAuthenticationFilter /admin/* /standarduser/* 我试图创建自己的自定义AuthenticationFilter,但我不能。 我真的希望我能在spring做点什么。 像这样或使用像hasRole或isMember这样的IDM函数:

主线程优先级的值是多少?

所有线程都有自己的优先级,那么主线程的整数值是多少?

试图让守卫的街区工作

我不明白为什么我的代码工作不正常。 我希望第一个Thread等待4秒,第二个Thread将共享布尔“joy”设置为true,然后第一个Thread打印出“Joy已经实现!”。 当我运行代码时,我得到这个输出: “没有喜悦……” “通知喜悦” 然后它冻结并且不会继续。 如果我的理解是正确的,从我的notifyJoy()方法调用的notifyAll()方法应该从它的wait()唤醒t1然后,因为共享的静态布尔变量joy现在是真的,“Joy已经实现!” 应该打印到控制台。 我正在使用Oracle的“The Java Tutorial”,第13章:这里是特定部分的链接: Java Tutorial Website 。 我会离开他们所拥有的并做一些例子,但我似乎无法弄清楚我做错了什么。 任何帮助,将不胜感激。 以下是我的代码的完整副本供您参考: public class JoyTime { public static void main(String[] args) { JoyRider j1 = new JoyRider(false); JoyRider j2 = new JoyRider(true); Thread t1 = new Thread(j1, “J1”); Thread t2 = new Thread(j2, “J2”); t1.start(); try { Thread.sleep(4000); } […]

SolrJetty日志记录 – 如何使自定义日志格式化程序工作?

我在Jetty 6上运行的Linux上有一个Solr服务器,我正在尝试为java日志记录设置自定义格式化程序,但我似乎无法识别我的自定义类。 我是Java的新手,所以引用它可能是我如何导出我的类或类似的问题。 注意这几乎是可以在这里找到的相同问题,但是那里的答案没有帮助,因为我有一个公共的无参数构造函数。 我的格式化程序如下所示(如此处所述): package myapp.solr; import java.text.MessageFormat; import java.util.Date; import java.util.logging.Formatter; import java.util.logging.LogRecord; public class LogFormatter extends Formatter { private static final MessageFormat fmt = new MessageFormat(“{0,date,yyyy-MM-dd HH:mm:ss} {1} [{2}] {3}\n”); public LogFormatter() { super(); } @Override public String format(LogRecord record) { Object[] args = new Object[5]; args[0] = new Date(record.getMillis()); args[1] = […]

如何从目录中获取特定数量的文件?

我想根据我在properties文件中提供的设置来检索文件。 例如,我只想在第一次迭代中获得50个文件并停止获取所有可能文件夹中有数千个文件。 我怎么能随机获得50个文件并且没有获得所有列表或迭代文件以获得50? filesList = folder.listFiles( new FileFilter() { @Override public boolean accept(File name) { return (name.isFile() && ( name.getName().contains(“key1”))); } }); 编辑 :我已删除for语句。 即使我只提供了一个文件夹来获取它将获取所有文件,计数器变量仍然循环文件夹中的所有文件不是一个好的解决方案。

Android Studio无法打开(port.lock访问被拒绝)

当我打开Android Studio时,它会出现以下错误: java.io.FileNotFoundException: C:\Users\HP\.AndroidStudio2.2\config\port.lock (Access is denied) javac路径是正确的,文件有任何人都可以访问(port.lock) 这是我收到的完整错误消息: java.io.FileNotFoundException: C:\Users\HP\.AndroidStudio2.2\config\port.lock (Access is denied) at java.io.FileOutputStream.open0(Native Method) at java.io.FileOutputStream.open(FileOutputStream.java:270) at java.io.FileOutputStream.(FileOutputStream.java:213) at com.intellij.idea.SocketLock.underLocks(SocketLock.java:186) at com.intellij.idea.SocketLock.lock(SocketLock.java:128) at com.intellij.idea.StartupUtil.lockSystemFolders(StartupUtil.java:318) at com.intellij.idea.StartupUtil.prepareAndStart(StartupUtil.java:140) at com.intellij.idea.MainImpl.start(MainImpl.java:34) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.ide.plugins.PluginManager$2.run(PluginManager.java:93) at java.lang.Thread.run(Thread.java:745)