小编Vis*_*uth的帖子

从android中的HttpURLConnection获取InputStream时获取UnknownLengthHttpInputStream

HttpURLConnection.getInputStream()给出UnknownLengthHttpInputStream,由于此Document解析引发SAX解析器异常.

以下是代码

try{
    URL url = new URL(uri);
    HttpURLConnection connection =
    (HttpURLConnection) url.openConnection();
    connection.setRequestMethod("GET");
    connection.setRequestProperty("Accept", "application/xml");

    InputStream xml = connection.getInputStream();
    System.out.println(connection.getResponseCode());
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    Document doc = db.parse(connection.getInputStream());
    doc.getDocumentElement().normalize();

}catch(Exception e){
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

任何人都知道UnknownLengthHttpInputStream的原因.我只在android中遇到此错误,此代码在Java Project中完美运行.

以下是LogCat的例外情况:

08-08 11:07:40.490: W/System.err(1493): org.xml.sax.SAXParseException: Unexpected end of document
08-08 11:07:40.504: W/System.err(1493): at org.apache.harmony.xml.parsers.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:129)
08-08 11:07:40.510: W/System.err(1493): at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:107)
08-08 11:07:40.510: W/System.err(1493): at com.example.testws.MainActivity.onCreate(MainActivity.java:59)
08-08 11:07:40.520: W/System.err(1493): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-08 11:07:40.520: W/System.err(1493): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
08-08 11:07:40.520: W/System.err(1493): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
08-08 …
Run Code Online (Sandbox Code Playgroud)

java android web-services inputstream saxparser

16
推荐指数
1
解决办法
1848
查看次数

KeyTypedEvent KeyEvent的KeyCode始终为0?

我在NetBeans IDE中有一个Java Swing应用程序.

我创建了一个表单并将KeyListener附加到我的各种控件中:

    jButton1.addKeyListener(new java.awt.event.KeyAdapter() {
        public void keyTyped(java.awt.event.KeyEvent evt) {
            keyTypedEvent(evt);
        }
    });
Run Code Online (Sandbox Code Playgroud)

keyTypedEvent定义为:

private void keyTypedEvent(java.awt.event.KeyEvent evt) 
{                               
System.out.println(evt);
appendDisplay(String.valueOf(evt.getKeyChar()));
} 
Run Code Online (Sandbox Code Playgroud)

我添加了一个println,evt看看会发生什么,并验证我的keylistener确实有效.当我构建并运行我的应用程序时,我意识到输出总是似乎有一个keycode = 0

为了验证这一点,我把println改为了evt.getKeyCode(),它总是返回0.

我可能完全误解了KeyCode的功能,但我认为它可以与Oracle文档中的值进行协调:

http://docs.oracle.com/javase/7/docs/api/constant-values.html#java.awt.event.KeyEvent.VK_ESCAPE

例如,VK_ESCAPE的值为27.

java swing keyevent keylistener

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

JSCH - 无效的私钥

我正在使用netbeans 7.2运行JDK 1.7和Windows 7.我使用putty-keygen生成了SSH私钥和公钥对(SSH2-2048位).私钥没有任何密码.我现在正尝试使用SFTP连接到其中一台主机.但是当我传递私钥(ppk)来设置Identity时,代码返回无效的私钥错误.我在WinSCP中使用相同的私钥连接到同一主机,它工作正常.请帮我解决错误.这是我的代码:

JSch jsch = new JSch();

Session session = null;

try {

    jsch.addIdentity("D:\\TEMP\\key.ppk");

    session = jsch.getSession("tiabscp", "ssiw.support.qvalent.com", 22);
    session.setConfig("StrictHostKeyChecking", "no");
    //session.setPassword("");
    session.connect();
    Channel channel = session.openChannel("sftp");
    System.out.println("Getting connected");
    channel.connect();
    System.out.println("connected successfully");
    ChannelSftp sftpChannel = (ChannelSftp) channel;
    sftpChannel.get("remotefile.txt", "localfile.txt");
    sftpChannel.exit();
    session.disconnect();
}catch (JSchException e) {

    e.printStackTrace();

}catch (SftpException e) {

    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

java jsch

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

如何在Spring MVC 3.0中传递表单中的隐藏值?

如何在Spring MVC 3.0中传递表单中的隐藏值

我无法使用隐藏字段赋值 <form:hidden path="test" />.如何设置测试字段的值并在服务器端访问它.

谢谢

forms spring-mvc hidden-field java-ee

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

春季MVC隐藏的领域

我想在下面的代码中使用spring hidden标签.这可能在下面的代码中,我必须在我的控制器中写这样做或我正在做的是正确的.

<c:forEach var="record" items="${records}">
    <tr>
        <td>
            <form:form id="myForm" action="list.html" method="post">
                <input type="hidden" name="record" value="${record}" />
                <a href="#" onclick="document.getElementById('myForm').submit();">Submit</a> 
            </form:form>
        </td>
    </tr>
 </c:forEach>
Run Code Online (Sandbox Code Playgroud)

任何帮助都会受到高度关注.

谢谢

java spring spring-mvc

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

HttpClient.execute抛出OutOfMemoryError

我有一个Android应用程序,JSONObject通过使用ByteArrayEntity对象发布为实体.这是它的样子:

post.setEntity(new ByteArrayEntity(entity.getBytes("UTF-8")));
result = client.execute(post, handler);
Run Code Online (Sandbox Code Playgroud)

实体是一个String.处理程序是ResponseHandler<String>和客户端是一个HttpClient.这在模拟器和某些设备上运行良好.但是,有时我在执行时会得到OutOfMemoryError x10i(也称为XPERIA).

这是堆栈:

java.lang.OutOfMemoryError
at org.apache.http.impl.io.AbstractSessionInputBuffer.init(AbstractSessionInputBuffer.java:79)
at org.apache.http.impl.io.SocketInputBuffer.<init>(SocketInputBuffer.java:93)
at org.apache.http.impl.SocketHttpClientConnection.createSessionInputBuffer(SocketHttpClientConnection.java:83)
at org.apache.http.impl.conn.DefaultClientConnection.createSessionInputBuffer(DefaultClientConnection.java:170)
at org.apache.http.impl.SocketHttpClientConnection.bind(SocketHttpClientConnection.java:106)
at org.apache.http.impl.conn.DefaultClientConnection.openCompleted(DefaultClientConnection.java:129)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:171)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:359)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:580)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:678)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:652)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641)
at com.test.application.api.Request.post(Request.java:102)
at com.test.application.api.API.getResult(API.java:123)
at com.test.application.api.APITask.doInBackground(APITask.java:127)
at com.test.application.api.APITask.doInBackground(APITask.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:185)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
at java.lang.Thread.run(Thread.java:1019)
Run Code Online (Sandbox Code Playgroud)

正如我所说,我只是将JSONObject发布为String.它最多可能是200个字符.怎么了?

java android json httpclient out-of-memory

11
推荐指数
1
解决办法
1927
查看次数

静态方法中的继承

为什么以下代码打印"Main"?

public class Main
{
    public static void method()
    {
        System.out.println("Main");
    }

    public static void main(String[] args)
    {
        Main m = new SubMain();
        m.method();
    }
}

class SubMain extends Main
{
    public static void method()
    {
        System.out.println("SubMain");
    }
}
Run Code Online (Sandbox Code Playgroud)

在运行时,m指向一个实例Submain,因此它应该在概念上打印"SubMain".

java inheritance static-methods

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

GWT DatePicker键盘导航

我有一个GWT日期选择器,我试图通过键盘访问它.我很难在日历中公开实际的日期元素,我想知道是否有人对此有任何好运?我真正想要的是能够在日历中的不同日期中进行选项卡.

提前致谢

gwt datepicker

10
推荐指数
1
解决办法
785
查看次数

如何做BigDecimal模数比较

我对如何写一个简单的模数比较if语句感到困惑.我基本上只想检查当x是BigDecimal时x是20的倍数.谢谢!

java bigdecimal

10
推荐指数
2
解决办法
8265
查看次数

使用java.io包的Java Reactor模式

我在几个应用程序源中看到,比如Minecraft和JIrcs,他们都使用java.io来实现Reactor Plugin(如果我没有错),也在本文中.那么,实现Reactor Pattern时java.io和java.nio有什么区别?我的意思是,像性能优势,流程效率等,如果你认为java.io是实现Reactor Pattern的好解决方案,我可以获得良好的教程(因为谷歌给了我大量的java.nio tuts而不是我想要的java.io)

java io nio reactor

9
推荐指数
1
解决办法
1772
查看次数