当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:12:00  来源:本站整理

java实现返回cmd掌握台所产生的信息[Java编程]

赞助商链接



  本文“java实现返回cmd掌握台所产生的信息[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

从前写JAVA时想练练手写一个编辑器,触及到JAVA代码的编译部份,考虑调用用javac.exe来编译,一下这段代码是用于将编译后产生的错误信息反馈到GUI上.同理,在cmd下履行的任何号令都可以反馈到GUI中.

//运行效果图

//以下代码用到了SWT相关的包

import java.io.IOException;
import java.io.InputStream;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import com.swtdesigner.SWTResourceManager;
public class CmdShell {
private Text text_1;
private Text text;
protected Shell shell;
/**
 * Launch the application
 * @param args
 */
public static void main(String[] args) {
 try {
  CmdShell window = new CmdShell();
  window.open();
 } catch (Exception e) {
  e.printStackTrace();
 }
}
/**
 * Open the window
 */
public void open() {
 final Display display = Display.getDefault();
 createContents();
 shell.open();
 shell.layout();
 while (!shell.isDisposed()) {
  if (!display.readAndDispatch())
  display.sleep();
 }
}
/**
 * Create contents of the window
 */
protected void createContents() {
 shell = new Shell(SWT.MIN | SWT.CLOSE | SWT.TITLE | SWT.RESIZE);
 shell.setImage(SWTResourceManager.getImage(CmdShell.class, "/org/eclipse/jface/dialogs/images/title_banner.png"));
 shell.setSize(415, 375);
 shell.setText("CmdShellDemo");
 final Button button = new Button(shell, SWT.NONE);
 button.addSelectionListener(new SelectionAdapter() {
  public void widgetSelected(SelectionEvent e) {
  cmdShell();
  }
 });
 button.setImage(SWTResourceManager.getImage(CmdShell.class, "/org/eclipse/jface/dialogs/images/message_info.gif"));
 button.setText("履行号令");
 button.setBounds(310, 25, 85, 24);
 text = new Text(shell, SWT.BORDER);
 text.setBackground(SWTResourceManager.getColor(202, 228, 240));
 text.setBounds(10, 27, 294, 22);
 text_1 = new Text(shell, SWT.V_SCROLL | SWT.BORDER | SWT.WRAP | SWT.H_SCROLL);
 text_1.setForeground(SWTResourceManager.getColor(255, 0, 0));
 text_1.setFont(SWTResourceManager.getFont("宋体", 10, SWT.NONE));
 text_1.setBounds(10, 61, 385, 277);
 final Label label = new Label(shell, SWT.NONE);
 label.setText("请在下列输入框中输入CMD号令");
 label.setBounds(10, 9, 294, 12);
 //
}
 
//履行号令
private void cmdShell(){
   int read;
     try {
       Process ps = Runtime.getRuntime().exec(text.getText());
       InputStream is = ps.getInputStream();
       InputStream ts=ps.getErrorStream();
       StringBuffer out = new StringBuffer();
       byte[] b = new byte[1024];
       read=ts.read(b);
       while ( (read = ts.read(b)) != -1) {
        out.append(new String(b, 0, read));
       }
       text_1.append(new String(out));
     }
     catch (IOException ex) {
       ex.printStackTrace();
     }
}
}


  以上是“java实现返回cmd掌握台所产生的信息[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .