Ver Mensaje Individual
  #12 (permalink)  
Antiguo 17/12/2009, 07:20
Avatar de ARGFA
ARGFA
 
Fecha de Ingreso: noviembre-2009
Ubicación: Ciudad Guayana, Venezuela
Mensajes: 55
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: llamar un arhivo JAVA desde PHP

aqui les dejo una ayuda de una aplicacion q hice muy similar..... este se trata de traer un archivo xml desde una url, guardo el archivo en una tabla y dspues lo almaceno en una carpeta de mi servidor local. y mi archivo xml almacenado en la carpeta de mi servidor local lo muestro en el navegador llamandolo con php.
espero les sirva de ayuda... saludos...

Código java:
Ver original
  1. import java.io.BufferedReader;
  2. import java.io.BufferedWriter;
  3. import java.io.File;
  4. import java.io.FileWriter;
  5. import java.io.IOException;
  6. import java.io.InputStreamReader;
  7. import java.net.URL;
  8. import java.sql.Connection;
  9. import java.sql.DriverManager;
  10. import java.sql.PreparedStatement;
  11. import java.sql.ResultSet;
  12. import java.sql.Statement;
  13.  
  14. public class linea1
  15.     {
  16.     public static void main(String[] args) throws Exception
  17.     {
  18.        
  19.     //CREO UN FOR PARA EJECUTAR LA TAREA CADA 30 SEGUNDOS  
  20.     for (int i = 0; i < 2; i++)
  21.     {
  22.     //ME CONECTO A LA BASE DE DATOS
  23.     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  24.     Connection con = DriverManager.getConnection("jdbc:sqlserver://VEM-1127;databaseName=BDlineas","sa", "1234");
  25.    
  26.     //LLAMO EL URL EL CUAL CONTIENE EL ARCHIVO XML
  27.     URL yahoo = new URL("http://150.0.56.31/ssc/wbs/Ws_Tiempo_Real.php");
  28.     BufferedReader in = new BufferedReader(new InputStreamReader(yahoo.openStream()));
  29.     String inputLine;
  30.     StringBuffer xml = new StringBuffer();
  31.     while ((inputLine = in.readLine()) != null)
  32.     {
  33.        
  34.     //VOY GUARDANDO EN LA VARIABLE EL DOCUEMENTO XML
  35.     xml.append(inputLine);
  36.     }
  37.    
  38.     //CONVIERTO EL STRINGBUFFER A STRING
  39.     StringBuffer sbuf = new StringBuffer(xml);
  40.     String str = sbuf.toString();
  41.    
  42.     //BORRO EL REGISTRO ANTERIOR DE LA TABLA
  43.     int lin = 1;
  44.     Statement sta = con.createStatement();
  45.     sta.executeUpdate("DELETE FROM Dlinea WHERE Linea = '"+lin+"'");
  46.    
  47.     //INSERTO EN LA BD LA VARIABLE STRING "str"
  48.     PreparedStatement ps = con.prepareStatement(
  49.     "INSERT INTO Dlinea (Linea, Dcelda) VALUES (?,?)");
  50.     ps.setInt(1, lin);
  51.     ps.setString(2, str);
  52.     ps.executeUpdate();
  53.     ps.close();
  54.    
  55.     //selecciono de la tabla el string y lo guardo como un archivo .xml
  56.     ResultSet res = sta.executeQuery("SELECT * FROM Dlinea WHERE Linea = '"+lin+"'");
  57.     res.next();
  58.     try
  59.     {
  60.        
  61.     //elimino el archivo anterior
  62.     File file = new File("C:/AppServ/www/archivosxml/linea1.xml");
  63.     boolean success = file.delete();
  64.    
  65.     //almacenar en carpeta del server archivo actual
  66.     BufferedWriter outfile = new BufferedWriter(new FileWriter("C:/AppServ/www/archivosxml/linea1.xml"));
  67.     outfile.write(res.getString("Dcelda"));
  68.     outfile.close();
  69.     }
  70.     catch (IOException e)    {    }
  71.    
  72.     //PREGUNTO AL CONTADOR PARA CORRER O NO EL SLEEP DE 30 SEG
  73.     if (i==1){
  74.     res.close();
  75.     sta.close();
  76.     in.close();}
  77.     else
  78.     Thread.sleep(30000);
  79.     }
  80.     }
  81.     }