elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Ejecutar programa desde java.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ejecutar programa desde java.  (Leído 5,508 veces)
aangrymasther

Desconectado Desconectado

Mensajes: 69


Zona especial Este


Ver Perfil
Ejecutar programa desde java.
« en: 4 Marzo 2018, 20:12 pm »

Buenas, os quería hacer una pregunta, ¿sabeis como hacer para lanzar un comando que lance un programa python (python <direccion> o ejecute un script de bash (./script)?

Encontré que se podía hacer con esto pero no me funcionó:
Código:
String[] command = {"sh","-c",".python /home/angrymasther/Escritorio/some.py"};
Process p = Runtime.getRuntime().exec(command);
p.waitFor();
El programa funciona sin errores, pero no ejecuta el código python, que debería crear un directorio ejemplo.
Se que el código python no es porque lo e probado xD.
¿Alguna idea? Gracias de antemano.


En línea

Probablemente el 99% de lo que digo sea incorrecto
rub'n


Desconectado Desconectado

Mensajes: 1.217


(e -> λ("live now")); tatuar -> λ("α");


Ver Perfil WWW
Re: Ejecutar programa desde java.
« Respuesta #1 en: 4 Marzo 2018, 21:05 pm »

Que raro debería de funcionar, quizás es porque no abriste un stream, usa un bloque try with resources es autocloseable linea 27  :xD
Código
  1. import os
  2. from stat import *
  3.  
  4. print "HolA PoC"
  5.  

Código
  1. package testing.foro.ExecPython;
  2.  
  3. import util.ShowData;
  4.  
  5. import javax.swing.*;
  6. import javax.swing.filechooser.FileNameExtensionFilter;
  7. import java.io.BufferedReader;
  8. import java.io.IOException;
  9. import java.io.InputStreamReader;
  10. import java.nio.file.Files;
  11. import java.nio.file.Path;
  12.  
  13. public class EjecutarPython {
  14.  
  15.  
  16.  
  17.    public EjecutarPython() throws InterruptedException, IOException {
  18.  
  19.        final String file = getPath().toAbsolutePath().toString();
  20.  
  21.        //String[] command = {"sh","-c",".python", file};
  22.        String[] command = {"python", file };
  23.  
  24.        Process p = Runtime.getRuntime().exec(command);
  25.        p.waitFor();
  26.        String line = "";
  27.        try(BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()))) {
  28.            while((line = br.readLine()) != null) {
  29.                ShowData.println(line);
  30.            }
  31.        }
  32.        p.destroy();
  33.    }
  34.  
  35.    private Path getPath() {
  36.        JFileChooser chooser = new JFileChooser();
  37.        chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
  38.        //chooser.setFileFilter(new FileNameExtensionFilter(".py",new String[]{".py"})); please [color=red]FIXME[/color]
  39.        final int result = chooser.showOpenDialog(null);
  40.        if(result == JFileChooser.CANCEL_OPTION) {
  41.            System.exit(2);
  42.        }
  43.        return chooser.getSelectedFile().toPath();
  44.    }
  45.  
  46.        UIManager.setLookAndFeel("javax.swing.plaf.nimbus.NimbusLookAndFeel");
  47.        new EjecutarPython();
  48.    }
  49. }
  50.  

Salida

Código
  1. HolA PoC
  2.  
  3. Process finished with exit code 0
  4.  
  5.  


« Última modificación: 10 Marzo 2018, 02:53 am por rub'n » En línea



rubn0x52.com KNOWLEDGE  SHOULD BE FREE.
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen ki
aangrymasther

Desconectado Desconectado

Mensajes: 69


Zona especial Este


Ver Perfil
Re: Ejecutar programa desde java.
« Respuesta #2 en: 5 Marzo 2018, 13:40 pm »

Hola Rub'n, gracias por tu respuesta. Fue mala mía, funcionó cuando puse una ruta absoluta.
En línea

Probablemente el 99% de lo que digo sea incorrecto
rub'n


Desconectado Desconectado

Mensajes: 1.217


(e -> λ("live now")); tatuar -> λ("α");


Ver Perfil WWW
Re: Ejecutar programa desde java.
« Respuesta #3 en: 10 Marzo 2018, 02:51 am »

Hola Rub'n, gracias por tu respuesta. Fue mala mía, funcionó cuando puse una ruta absoluta.

hommie, y esto que es? Absoluto o Relativo ?  :o hasta donde se es Absoluto
 

Código
  1. /home/angrymasther/Escritorio/some.py

En línea



rubn0x52.com KNOWLEDGE  SHOULD BE FREE.
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen ki
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Coomo ejecutar fichero desde java???
Java
Hartigan 1 3,185 Último mensaje 17 Marzo 2011, 01:17 am
por sapito169
Ejecutar programas en java desde la línea de comandos.
Java
binaryum 2 4,156 Último mensaje 8 Diciembre 2011, 14:40 pm
por [Case]
Ejecutar un bat desde java y que el codigo no continue
Java
Mine Sweeper 2 6,069 Último mensaje 10 Julio 2013, 19:25 pm
por Mine Sweeper
[Ayuda] ¿Cómo ejecutar otro programa desde mi programa de C#?
.NET (C#, VB.NET, ASP)
Zodiak98 1 6,153 Último mensaje 8 Diciembre 2013, 01:51 am
por Eleкtro
ejecutar un programa desde jframe en java
Programación General
d91 1 5,521 Último mensaje 18 Junio 2014, 05:29 am
por d91
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines