Foro de elhacker.net

Programación => Java => Mensaje iniciado por: jhonatanAsm en 21 Marzo 2012, 23:46 pm



Título: acceso directos con la clase RandomAccessFile es posible?
Publicado por: jhonatanAsm en 21 Marzo 2012, 23:46 pm
hola, me podrían decir como crear accesos directos, usando clases de java como ...

RandomAccessFile a=new RandomAccessFile("b.txt","rwd"); ???? salu2.


Título: Re: acceso directos con la clase RandomAccessFile es posible?
Publicado por: jhonatanAsm en 22 Marzo 2012, 00:08 am
intento simular la funcionalidad de los accesos directos que hay en el escritorio usando java.

ayuda please!!


Título: Re: acceso directos con la clase RandomAccessFile es posible?
Publicado por: visualfree en 22 Marzo 2012, 07:00 am
se mas claro y te ayudo ... te das cuenta que con esa clase trabajas con ficheros no?

La clase RandomAccessFile permite acceder archivos en forma directa...


Título: Re: acceso directos con la clase RandomAccessFile es posible?
Publicado por: jhonatanAsm en 22 Marzo 2012, 12:43 pm
Citar
. te das cuenta que con esa clase trabajas con ficheros no?
un poco...  :huh:   :silbar:   ...

Para crear un acceso directo en windows, había que buscar el proceso que crea el acceso directo, capturarlo y mandarlo a llamar desde java  ---   o algo así había entendido, así que me desanimé de hacerlo de esa forma, pero si pudieses dar algunos tip's lo intento hasta que salga =)  ---

lo que he intentado es:

capturar la url actual con getDocumentBase();

crear un archivo .html en el escritorio con el FileWriter();

escribir en este archivo codigo html o js que redirija a la url capturada en el paso1

y listo!!

el archivo en consola me crea este "acceso directo" , pero cuando lo pasé a un applet, me doy con la sorpresa de que un applet no permite la creacion ni la escritura de archivos a menos que "sun" corrobore que el applet no es malicioso ( firmar applet ).


Gracias por responder. salu2

----------------   =)   --------------------------------

edit: estoy viendo la opcion de  que el applet llame al .class (ejecutable de escritorio), pero quizá tampoco tenga permisos  :huh:.

ayudaaaaaaa please!!


Título: Re: acceso directos con la clase RandomAccessFile es posible?
Publicado por: Proteus1989 en 22 Marzo 2012, 14:49 pm
Código
  1. try
  2. {
  3.   /* directorio/ejecutable es el path del ejecutable y un nombre */
  4.   Process p = Runtime.getRuntime().exec ("directorio/ejecutable");
  5. }
  6. catch (Exception e)
  7. {
  8.   /* Se lanza una excepción si no se encuentra en ejecutable o el fichero no es ejecutable. */
  9. }


Es eso?


Título: Re: acceso directos con la clase RandomAccessFile es posible?
Publicado por: jhonatanAsm en 23 Marzo 2012, 02:12 am
no entiendo como usar ese code men  estoy :huh:

suponiendo que tengo 2 archivos en la misma carpeta:

a.class //archivo de escritorio tiene un joptionpane
b.class //applet java

hize esto, en b.class puse:

 Process p = Runtime.getRuntime().exec ("a.class");

y no me mostro el joptionpane que tenia a.class.

gracias de antemano =)


Título: Re: acceso directos con la clase RandomAccessFile es posible?
Publicado por: Proteus1989 en 23 Marzo 2012, 11:17 am
Pensaba que lo querías para desde java crearte un acceso directo a archivos .exe de windows.

Para hacer lo que tu dices tienes que crearte un archivo.jar. En eclipse se generan automáticamente pulsando en file/export  Java/Runnable Jar File

Si quieres hacerlo manualmente busca información sobre los .jar.


Título: Re: acceso directos con la clase RandomAccessFile es posible?
Publicado por: jhonatanAsm en 23 Marzo 2012, 22:49 pm
tal vez no me explique bien,  :silbar: . en fin

intento crear accesos directos de una pagina web, es decir un acceso directo de la url actual.

con getDocumentBase(), obtengo la url actual, pero como le diría que la ruta del acceso directo es un URL ???

gracias por responder men. salu2




Título: Re: acceso directos con la clase RandomAccessFile es posible?
Publicado por: Proteus1989 en 24 Marzo 2012, 05:58 am
Entonces es el primer codigo que te pase donde lo que le pasas por parametro es una cadena de la ubicacion del programa que abre el archivo y el archivo que tiene que abrir

"C:\windows\notepad.exe C:\Users\usuario\Desktop\archivo.txt"


Título: Re: acceso directos con la clase RandomAccessFile es posible?
Publicado por: jhonatanAsm en 26 Marzo 2012, 00:20 am
agradezco la ayuda men, pero ahora tengo un problem.

este code en cmd me crea un archivo, con el texto 'hola':

archi.bat
Código
  1. echo holar Modificado>C:\Users\Lili\Documents\pruebas_java\acceso_directo\applet_ad\new3.txt

esto lo puse como parametro en exec() así:

Código
  1. class cmd1{
  2.  
  3. public static void main(String args[] ){
  4. try {
  5.   Process p = Runtime.getRuntime().exec("archi.bat");
  6. }
  7. catch (Exception e){
  8. System.out.println(e);
  9. }
  10. }
  11. }

los dos archivos están en la misma carpeta, el de java lo compila y ejecuta bien, pero no me crea el archivo. salu2 ;)

pd: el .bat funciona, pero cuando corro el programa, no me llega a crear el archivo


Título: Re: acceso directos con la clase RandomAccessFile es posible?
Publicado por: Proteus1989 en 26 Marzo 2012, 13:05 pm
cambia archi.bat por cmd.exe /K archi.bat


Título: Re: acceso directos con la clase RandomAccessFile es posible?
Publicado por: jhonatanAsm en 27 Marzo 2012, 03:46 am
gracias por contestar men, respecto al code aún no me llega a crear el archivo.txt

en cmd1.java lo puse así:
Process p = Runtime.getRuntime().exec("cmd.exe /K archi.bat");

y no me creo el archivo men.

ahora cambie el .bat así:

Código
  1. set ruta="C:\Users\Lili\Documents\pruebas java\acceso directo\applet ad\new8.txt"
  2. echo holaohoyyy26-03>%ruta%

y en cmd1.java puse esto:

Código
  1. Process p = Runtime.getRuntime().exec("C:\\Windows\\System32\\cmd.exe /K C:\\Users\\Lili\\Documents\\pruebas java\\acceso directo\\applet ad\\archi.bat");
  2.  
  3. System.out.println(p);
  4.  

y me escribió:  java.lang.ProcessImpl@1df073d
mas no llegó a crear el .txt .

Échame otra manito ps.salu2.


Título: Re: acceso directos con la clase RandomAccessFile es posible?
Publicado por: Proteus1989 en 27 Marzo 2012, 09:36 am
p es un puntero a un objeto, lo que te ha mostrado es la dirección de memoria de este.
Prueba a cambiar C:\\Windows\\System32\\cmd.exe solo a cmd.exe (En principio debe estar en sea ruta, pero quien sabe)

Se quedaría así
"cmd.exe /K C:\\Users\\Lili\\Documents\\pruebas java\\acceso directo\\applet ad\\archi.bat"


Título: Re: acceso directos con la clase RandomAccessFile es posible?
Publicado por: jhonatanAsm en 28 Marzo 2012, 17:38 pm
esta igual men, si conoceis de algunas otras clases, no importa sean dificiles pero, me permitan crear accesos directos te lo agradecerìa mucho men. salu2


Título: Re: acceso directos con la clase RandomAccessFile es posible?
Publicado por: Proteus1989 en 28 Marzo 2012, 18:57 pm
Pues a mi lo que te he pasado me funciona perfectamente en mi PC.
Y no conozco de otra. Mira a ver, porque algún fallo tonto tienes que tener.