有什么办法将Java String转换为byte[] ( 而不是盒装的Byte[] )? 在尝试这个: System.out.println(response.split("\r\n\r\n")[1]); System.out.println("******"); System.out.println(response.split("\r\n\r\n")[1].getBytes().toString()); 我得到单独的输出。 无法显示第一个输出,因为它是一个gzipstring。 <A Gzip String> ****** [B@38ee9f13 第二个是地址。 有什么我做错了吗? 我需要在一个byte[]的结果喂它到gzip解压缩,如下所示。 String decompressGZIP(byte[] gzip) throws IOException { java.util.zip.Inflater inf = new java.util.zip.Inflater(); java.io.ByteArrayInputStream bytein = new java.io.ByteArrayInputStream(gzip); java.util.zip.GZIPInputStream gzin = new java.util.zip.GZIPInputStream(bytein); java.io.ByteArrayOutputStream byteout = new java.io.ByteArrayOutputStream(); int res = 0; byte buf[] = new byte[1024]; while […]
我有一个更新视图,我需要预先select一个微调数据库中存储的值。 我想到这样的东西,但Adapter没有indexOf方法,所以我卡住了。 void setSpinner(String value) { int pos = getSpinnerField().getAdapter().indexOf(value); getSpinnerField().setSelection(pos); }
在Hibernate会话期间,我正在加载一些对象,其中一些由于延迟加载而被加载为代理。 一切正常,我不想closures延迟加载。 但后来我需要通过RPC将一些对象(实际上是一个对象)发送到GWT客户端。 碰巧这个具体的对象是一个代理。 所以我需要把它变成真正的对象。 在Hibernate中我找不到像“实现”的方法。 我怎样才能把代理的一些对象变成知道他们的类和ID的实体? 目前唯一的解决scheme是从Hibernate的caching中清除对象并重新加载它,但是由于很多原因它确实很糟糕。
有没有一个很好的例子,如何在Android上使用AES encryption/解密 Image和其他文件? 我正在做一个项目,需要encryption/解密数据,但我不知道如何去做。
我正在尝试使用Java的ThreadPoolExecutor类来运行具有固定数量的线程的大量重量级任务。 每个任务都有很多地方可能由于例外而失败。 我已经子类ThreadPoolExecutor ,我已经重写了afterExecute方法应该提供任何运行任务时遇到的未捕获的exception。 但是,我似乎无法使其工作。 例如: public class ThreadPoolErrors extends ThreadPoolExecutor { public ThreadPoolErrors() { super( 1, // core threads 1, // max threads 1, // timeout TimeUnit.MINUTES, // timeout units new LinkedBlockingQueue<Runnable>() // work queue ); } protected void afterExecute(Runnable r, Throwable t) { super.afterExecute(r, t); if(t != null) { System.out.println("Got an error: " […]
我有一个关于Java中string的简单问题。 以下简单代码段连接两个string,然后将它们与==进行比较。 String str1="str"; String str2="ing"; String concat=str1+str2; System.out.println(concat=="string"); 比较expression式concat=="string"返回false (我理解equals()和== )之间的区别。 当这两个string被声明为final时候, final String str1="str"; final String str2="ing"; String concat=str1+str2; System.out.println(concat=="string"); 比较expression式concat=="string" ,在这种情况下返回true 。 为什么final有所作为? 是否需要对实习生池做些什么,或者我只是被误导了?
在search了一些现有的JSON库之后,我终于find了这两个: jackson Google GSon 我对GSON有些偏袒,但networking上的一句话是GSon遭受了某种天体性能问题 (截至2009年9月)。 我正在继续我的比较; 在此期间,我正在寻求帮助来下定决心。
在Java中,您可以使用相同的API但使用不同的URL协议来加载各种资源: file:///tmp.txt http://127.0.0.1:8080/a.properties jar:http://www.foo.com/bar/baz.jar!/COM/foo/Quux.class 这很好地解耦了需要资源的应用程序的实际资源加载,由于URL只是一个string,所以资源加载也很容易configuration。 有使用当前类加载器加载资源的协议吗? 这与Jar协议类似,只是我不需要知道资源来自哪个jar文件或类文件夹。 当然,我可以使用Class.getResourceAsStream("a.xml")来做到这一点,但这需要我使用不同的API,从而改变现有的代码。 我希望能够在所有可以通过更新属性文件来指定资源URL的地方使用它。
我想知道什么是最干净和最好的方式来执行用户input的表单validation。 我见过一些开发者实现了org.springframework.validation.Validator 。 关于这个问题:我看到它validation了一个类。 该类是否必须用用户input的值手动填充,然后传递给validation器? 我对确认用户input的最简洁和最好的方法感到困惑。 我知道使用request.getParameter() ,然后手动检查nulls的传统方法,但我不想在我的Controller做所有的validation。 有关这方面的一些很好的build议将不胜感激。 我没有在这个应用程序中使用Hibernate。
我有一个JTextArea,它骑在JScrollPane的顶部。 无论如何,我知道我可以使用getViewPort()方法来设置视图端口的不透明…但我似乎无法find任何迹象表明如何做到这一点…任何地方。 :S 这是我到目前为止: if (e.getKeyCode() == KeyEvent.VK_F) { if (sp.isVisible()) { sp.setVisible(false); } else { sp.setVisible(true); } }