Pregunta

Tengo problemas reales que generan un archivo de texto por 'Operación' para almacenar la información específica de la operación, sin importar qué enfoque tomo, no puedo crear un archivo de texto en el servidor web, y mucho menos en la tienda de información dentro de él,El primer ejemplo es ideal lo que me gustaría (crear y almacenar por operación)

Nota: estoy tratando de hacer esto en un servlet actualmente para fines de prueba.Ayuda mucho apreciado.

 try {
               FileWriter fstream = new FileWriter("out.txt");
                BufferedWriter out = new BufferedWriter(fstream);
                out.write("test");
                out.close();
            } catch (Exception ex) {
                 System.out.println(ex);
            }

DIFERENTE ENFOQUE

 try {

            URL                url; 
            URLConnection      urlConn; 
            DataOutputStream   dos;
            DataInputStream dis;

            url = new URL("http://localhost:8080/" + request.getContextPath() + "/tmp/myfile.txt");
            System.out.println(url);
            urlConn = url.openConnection(); 
            urlConn.setDoInput(true); 
            urlConn.setDoOutput(true); 
            urlConn.setUseCaches(false); 
            urlConn.setRequestProperty ("Content-Type", "text/plain");

            dos = new DataOutputStream (urlConn.getOutputStream()); 
            dos.writeUTF("test");
            dos.flush(); 
            dos.close();

            //to test
            dis = new DataInputStream(urlConn.getInputStream()); 
            String s = dis.readLine(); 
            System.out.println(s);
            dis.close(); 

     } catch(Exception ex) {
         System.out.println(ex);
     }

¿Fue útil?

Solución

No estoy seguro de por qué querrías hacer esto así;Ya hay soluciones de registro robustas, y bases de datos.

En el primer caso, casi seguro que está creando un archivo si no está recibiendo excepciones, simplemente no sabe dónde está.Use una ruta absoluta a una ubicación conocida, o algo relativo a la propia aplicación usando .getRealPath.

(Notando que tratar de escribir en una ruta de aplicación relativa no funcionará si está desplegando una guerra).

En el segundo caso, no estoy seguro de por qué pensó que funcionaría.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top