Java和C#运行命令行的例子对比

呵呵,刚给客户解决了在C#里运行命令行的例子,顺便整理了一下Java的例子,大家参考对比一下

Java的

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
/**
 * Java运行命令行的例子
 *
 * @author JAVA世纪网(java2000.net)
 */
public class TestProcess {
 public static void main(String[] args) {
  try {
   // 如果需要启动cmd窗口,使用
   // cmd /k start ping 127.0.0.1 -t
   Process p = Runtime.getRuntime().exec("ping 127.0.0.1 -t");
   InputStream is = p.getInputStream();
   BufferedReader reader = new BufferedReader(new InputStreamReader(is));
   String line;
   while ((line = reader.readLine()) != null) {
    System.out.println(line);
   }
   p.waitFor();
   is.close();
   reader.close();
   p.destroy();
  } catch (Exception ex) {
   ex.printStackTrace();
  }
 }
}

C# 的

using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.IO;
/**
 * C# 运行命令行的例子
 *
 * @author JAVA世纪网(java2000.net)
 */
namespace ConsoleApplication1
{
 class TestProcess
 {
  public static void executeCommand()
   {
    ProcessStartInfo start = new ProcessStartInfo("Ping.exe");//设置运行的命令行文件问ping.exe文件,这个文件系统会自己找到
    //如果是其它exe文件,则有可能需要指定详细路径,如运行winRar.exe
    start.Arguments = "127.0.0.1 -t";//设置命令参数
    start.CreateNoWindow = true;//不显示dos命令行窗口
    start.RedirectStandardOutput = true;//
    start.RedirectStandardInput = true;//
    start.UseShellExecute = false;//是否指定操作系统外壳进程启动程序
  Process p = Process.Start(start);
    StreamReader reader = p.StandardOutput;//截取输出流
    string line = reader.ReadLine();//每次读取一行
    while (!reader.EndOfStream)
    {
     Console.Out.WriteLine(line);
     line = reader.ReadLine();
    }
    p.WaitForExit();//等待程序执行完退出进程
    p.Close();//关闭进程
    reader.Close();//关闭流
  }
 }
}

运行结果相同,大家自己看吧

时间: 2024-11-18 13:32:14

Java和C#运行命令行的例子对比的相关文章

java-请问如何在WINDOWS下后台运行JAVA程序而不打开命令行窗口

问题描述 请问如何在WINDOWS下后台运行JAVA程序而不打开命令行窗口 请问如何在WINDOWS下后台运行JAVA程序而不打开命令行 我添加了一个任务计划但是每次运行程序的时候都会打开命令行窗口我不希望命令行窗口出现怎么办? 解决方案 @echo off 你加入这个你再试试

在vbs运行命令行工具后让命令窗口保持打开状态的脚本_vbs

问: 您好,脚本专家!如何在运行像 Ping 或 Ipconfig 这样的工具后让命令窗口保持打开状态? -- DB 答: 您好,DB.这个问题让我们想起了往事.有一个脚本专家刚来 Microsoft,那时许多人认为 WMI 和 ADSI 对于脚本编写者来说太难使用.因此,人们建议这个脚本专家不使用 WMI 或 ADSI,而是干脆使用 VBScript 作为调用命令行工具的方法.事实上,这个脚本专家编写的第一章就是一个关于事件日志管理的章节,该章后来成为 Microsoft Windows 20

Word怎么用开始运行命令行的方式打开

方便快捷地使用Word,教你Word怎么用开始运行命令行的方式打开~!!! 电脑上新建word文件,例如命名为"word技巧"~!!! 双击"word技巧",打开word文件~!!! 或者点击左下方的开始键 点击运行,弹出运行的对话框 在运行中输入winword.exe /a,点击确定 即可打开一个名字为"文档1"的word新文件~!!!

Java虚拟机几个命令行参数说明

一.运行class文件 执行带main方法的class文件,Java虚拟机命令参数行为: java <CLASS文件名> 注意:CLASS文件名不要带文件后缀.class 例如: java Test 如果执行的class文件是带包的,即在类文件中使用了: package <包名> 那应该在包的基路径下执行,Java虚拟机命令行参数: java <包名>.CLASS文件名 例如: PackageTest.java中,其包名为:com.ee2ee.test,对应的语句为:

Java或C#调用命令行批处理命令如何获得返回值

@echo off dump -uroot -p1234 --database gbase > 1.sql 2>Nul if %errorlevel%==0 goto next goto error :next echo OK goto end :error echo ERROR :end   [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]   先看看如上的批处理,其中一个命令是dump,其它的参数我们就不说了.2个点 > 1.sql 这个是默认的输出,也就是内容输出 2

java打jar包 命令行cmd在当前路径打jar包

  不尝试就永远不会知道真相.   今天搞webservice,需要将服务单独拉出来发布.打jar包的时候要打成aar包,所以用到cmd下的打jar包的命令.   当前路径打jar包,一定要先进到这个文件夹,然后对这个文件夹打jar包..我打的是aar包,你可以改成jar,后面有个[.]代表当前路径.   jar cvf ws.jar .  

关于JVM命令行标志您不知道的5件事:调优JVM性能和Java运行时

JVM 是多数开发人员视为理所当然的 Java 功能和性能背后的重负荷机器.然而,我们很少有人能理解 JVM 是如何进行工作的 - 像任务分配和垃圾收集.转动线程.打开和关闭文件.中断和/或 JIT 编译 Java 字节码,等等. 不熟悉 JVM 将不仅会影响应用程序性能,而且当 JVM 出问题时,尝试修复也会很困难. 本期 5 件事 系列 将介绍一些命令行标志,您可以使用它们来诊断和调优您的 Java 虚拟机性能. 1. DisableExplicitGC 我已记不清有多少次用户要求我就应用程

Java程序员必须知道的5个JVM命令行标志_java

本文是Neward & Associates的总裁Ted Neward为developerworks独家撰稿"你不知道5个--"系列中的一篇,JVM是多数开发人员视为理所当然的Java功能和性能背后的重负荷机器.然而,我们很少有人能理解JVM是如何进行工作的-像任务分配和垃圾收集.转动线程.打开和关闭文件.中断和/或JIT编译Java字节码,等等. 不熟悉JVM将不仅会影响应用程序性能,而且当JVM出问题时,尝试修复也会很困难. 本文将介绍一些命令行标志,您可以使用它们来诊断和

每个Java程序员必须知道的5个JVM命令行标志

不熟悉JVM将不仅会影响应用程序性能,而且当JVM出问题时,尝试修复也会很困难. 本文将介绍一些命令行标志,您可以使用它们来诊断和调优您的Java虚拟机性能. 1.DisableExplicitGC 我已记不清有多少次用户要求我就应用程序性能问题提供咨询了,其实只要跨代码快速运行grep,就会发现清单1所示的问题-原始Java性能反模式: 清单 1. System.gc; // We just released a bunch of objects, so tell the stupid //