2016-12-30 21 views
0

現在、私はこの方法を使用しています:netbeansプロジェクトでcmdコマンドを実行するには?

import java.io.*; 
import com.sun.speech.freetts.*; 
import javax.swing.JOptionPane; 

public class SO 
{ 
    public void Open(String siteLink) 
    { 
     try 
     { 
      Process p = Runtime.getRuntime().exec("cmd /c start "+siteLink); 
     } 
     catch(Exception e) 
     { 
      JOptionPane.showMessageDialog(null,"Error"+e); 
     } 
    } 
} 

これは私のJavaのクラスでした。 と私は入力されたメインフレームのソースに:

SO run = new SO(); 
run.Open("file:///G:\\Abhijeet\\Videos\\"); 

これは、動画フォルダ を開きますが、この方法は、.exeファイルまたはWindowsアプリケーションを起動していません。

コンピューターを起動するのに「explorer =」を使用してみましたが、何も起こりませんでした。

答えて

0

私は本当にあなたがやろうとしているかわからないんだけど、URLを開くの好ましい方法は、おそらくデスクトップ#ブラウズです(ドキュメント:https://docs.oracle.com/javase/7/docs/api/java/awt/Desktop.html#browse(java.net.URI))プログラムを起動するために

、私はデスクトップ#オープンを使用します(ドキュメンテーション:https://docs.oracle.com/javase/7/docs/api/java/awt/Desktop.html#open(java.io.File)

また、コマンドラインインジェクションでいくつかの調査を行います。 任意の形式の変数を使用すると、ユーザーは任意のコマンドを簡単に実行できるようになります。または、誤ってエラーの原因となる文字を使用する可能性があります。この場合にRuntime#execを使用することを依頼している場合は、String []を受け取るものを参照してください。
あなたはおそらくnew String[]{"cmd", "/c", "start", siteLink}を実行します。

+0

サンクス、そして私はすぐにコマンドラインインジェクションを開始します。 –

関連する問題