Java中调用本地的其他文件。运行,命令窗口

 

我怎么发表不了啊!

 

/**
该文档是和本地的OS的命令窗口沟通用的
打开Windows下的命令窗口:
  
打开Linux下的命令窗口(没有试过):
Runtime.getRuntime().exec("tail   /home/test/a.txt   >>b.txt");
/path/script.sh

发现的问题:
1:怎么获得返回的结果
2:打开文档安全吗?可以种下木马?*。bat文件(是不是要有限制)
3:什么文件都可以打开吗。(绝对路径与相对路径)

*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;


public class  Cmd_Test
{
 public static void main(String[] args)
 {
  JFrame1 frame = new JFrame1();
  frame.setVisible(true);
  frame.setSize(400,200);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 }
}
class JFrame1 extends JFrame
{
 JButton button1;
 JButton button2;
 JButton button3;

 public JFrame1()
 {
  setLayout(new FlowLayout());
  setTitle("打开网页或者命令窗口");
  button1 = new JButton("打开本地的命令窗口");
  button2 = new JButton("打开网页(www.163.com)");
  button3 = new JButton("打开本地的XX");
  add(button1);
  add(button2);
        add(button3);
 
  listener  listener1 = new listener();
  button1.addActionListener(listener1);
  button2.addActionListener(listener1);   
  button3.addActionListener(listener1);   
 }
 class listener implements ActionListener
 {
  public void actionPerformed(ActionEvent event)
  {
   try
   {
    if(event.getSource() == button1)
    {
     Runtime.getRuntime().exec("cmd /c start cmd.exe");
    }
    if(event.getSource() == button2)
    {
     Runtime.getRuntime().exec("cmd /k start www.163.com");
    }
    //if(event.getSource() == button3)效果相同,但是好像有一个已经被淘汰了
    if(event.getActionCommand() == "打开本地的XX")
    {
     try
     {
      //把要打开的文件放进去就可以了,有时需要程序打开的要指定程序的位置
      Runtime.getRuntime().exec("cmd.exe /k start .//Cmd_Test.java");
     }
     catch (IOException e)
     {
      System.out.println("XXX文件没有找到!");
     }
     

    }
    
   }
   catch (IOException e)
   {
    e.printStackTrace();  
   }
  }
 }
}

 

 

//20090619日帮助别人完成的,哈哈。

又看到该文章的可以回复,当我看到的时候我会解答的。哈哈,小弟不才,再次献丑了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值