java使用telnet连接远程服务器调用cmd命令时 报堆溢出错误是什么原因? 200

publicclasstest6{TelnetClienttelnet=newTelnetClient("VT220");InputStreamin;PrintStrea... public class test6 { TelnetClient telnet = new TelnetClient("VT220"); InputStream in; PrintStream out; String prompt = ">"; public test6(String ip, int port, String user, String password) { try { telnet.connect(ip, port); in = telnet.getInputStream(); out = new PrintStream(telnet.getOutputStream()); login(user, password); } catch (SocketException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 读取分析结果 * * @param pattern * @return */ public String readUntil(String pattern) { try { char lastChar = pattern.charAt(pattern.length() - 1); StringBuffer sb = new StringBuffer(); char ch = (char) in.read(); while (true) { sb.append(ch); if (ch == lastChar) { if (sb.toString().endsWith(pattern)) { return sb.toString(); } } ch = (char) in.read(); // System.out.print(ch); } } catch (Exception e) { e.printStackTrace(); } return null; } /** * 写操作 * * @param value */ public void write(String value) { try { out.println(value); out.flush(); } catch (Exception e) { e.printStackTrace(); } } /** * 向目标发送命令字符串 * * @param command * @return */ public String sendCommand(String command) { try { write(command); return readUntil(prompt + ""); } catch (Exception e) { e.printStackTrace(); } return null; } /** * 登录 * * @param user * @param password */ public void login(String user, String password) { // read()Until("login:"); readUntil("login:"); write(user); readUntil("password:"); write(password); readUntil(prompt + ""); } /** * 关闭连接 */ public void disconnect() { try { telnet.disconnect(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { test6 ws = new test6("192.168.40.128", 23, "wangguofei", "!QAZ2wsx"); // 执行的命令 String str = ws.sendCommand("ipconfig"); try { str = new String(str.getBytes("ISO-8859-1"), "GBK"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } System.out.println(str); ws.disconnect(); }} 展开
 我来答
架构师小新哥
2018-04-30 · TA获得超过199个赞
知道小有建树答主
回答量:106
采纳率:71%
帮助的人:56.2万
展开全部
  1. 如果执行一次没问题,执行多次后,出现内存溢出,检查代码,查看流是否都已经关闭,没有疏漏。

  2. 如果程序启动后,第一次执行就出现内存溢出错误,设置你的ide,调高分配内存。

kiimmmmmmmmmmm
2018-04-02
知道答主
回答量:12
采纳率:66%
帮助的人:2.4万
展开全部
增加容器运行内存
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pieryon
2018-04-01 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14410 获赞数:166869
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
调整jvm参数,堆内存溢出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式