Pregunta sobre FileOutputStream

Quería saber como se debe poner una dirección cuando se crea un nuevo FileOutputStream. Si te sirve de algo yo lo que intento es algo así como new FileOutputStream("http://localhost:8080/dir/archivo.xml")
dir es un directorio del Tomcat.
No se si me podrás ayudar, pero de todas formas

1 respuesta

Respuesta
1
Que yo sepa FileOutputStream solo puede usarse para escribir ficheros, no es valida la forma en que lo estas usando.
Si tu intención es hacer un servlet que escriba un fichero en un servidor, lo que debes indicarle el path dentro del servidor donde debe escribir el fichero, algo como : /home/root/files o c:\home\root\files si estas trabajando en windows.
¿Qué opción podría utilizar para ponerlo como una dirección? No se si se podría utilizar URL, pero claro, luego tendría que sacar de ahí un objeto FileOutputStream
Gracias por tu ayuda
La verdad es que no se para que quieres hacer esto. Te agradecería que dieses más detalles para poder concretar más la respuesta.
Me sigue dando la impresión que lo que quieres es grabar un fichero desde un servlet. Lo que te decía en mi respuesta es que cuando ejecutas un servlet este se ejecuta en el servidor, por lo que tienes acceso directo al disco duro del servidor, por lo que puedes acceder como si de un fichero normal se tratara.
¿Has probado a invocar al fichero con file://....?
Es que lo tengo que utilizar en distintos ordenadores y todos con el tomcat, por eso prefería darle una dirección relativa en el servidor en vez de como un fichero en el disco duro, pero no se si esto es posible. Por esto quería hacer algo del tipo "http://localhost:8080/dir/archivo.xml" De todas formas muchas gracias y siento haberte liado.
FileOutputSteam solo sirve para acceder a ficheros que estén en el disco duro local.
Una solución posible es compartir los directorios de esos servidores a través de la red y acceder tal y como he dicho.
Otra posibilidad es utilizar un manejador de protocolos:
OutputStream ostr;
URLConnection conn;
URL url=new URL
("http://servidor/doc.html");
conn=url.openConnection();
osrt=conn.getOutputStream();
También cabe la posibilidad de pedir un inputStream con getInputStream, por si lo que quieres hacer es leer.
En todo caso tienes que tener en cuenta que necesitas tener permiso para escribir en dicha url

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas