¿Cómo escribir en un archivo sin sobrescribir los datos? [cerrado
Estoy tratando de escribir un archivo que se encuentra en un servidor web, así que estoy usando:
URL url1 = new URL("ftp://user:[email protected]/public_html/users.txt");
URLConnection conn = url1.openConnection();
conn.setDoOutput(true);
OutputStream out = conn.getOutputStream();
try (Writer w = new OutputStreamWriter(out, "UTF-8")) {
w.write(ipAddress+ hostname);
}
Este código sobrescribe los datos existentes en el archivo de texto. ¿Cómo puedo arreglar eso?
Intenté muchas soluciones aquí, desde stackoverflow. Cada vez que recibo el mismo error, digo que necesito cambiarOutputStream
aString
.
como ést
try
{
FileWriter fw = new FileWriter(out,true); //the true will append the new data
fw.write("add a line\n");//appends the string to the file
fw.close();
}
catch(IOException ioe)
{
System.err.println("IOException: " + ioe.getMessage());
}
errores
Exception en el hilo "AWT-EventQueue-0" java.lang.Error: Problema de compilación no resuelto: El constructor FileWriter (OutputStream, boolean) no está definido
at Connection.initialize (Connection.java:274) en Connection. (Connection.java:131) en Connection $ 1.run (Connection.java:113) en java.awt.event.InvocationEvent.dispatch (fuente desconocida) en java .awt.EventQueue.dispatchEventImpl (fuente desconocida) en java.awt.EventQueue.access $ 500 (fuente desconocida) en java.awt.EventQueue $ 3.run (fuente desconocida) en java.awt.EventQueue $ 3.run (fuente desconocida) en java.security.AccessController.doPrivileged (Método nativo) en java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (Fuente desconocida) en java.awt.EventQueue.dispatchEvent (Fuente desconocida) en java.awt.EventDispatchThread.pumpOtFrete java.awt.EventDispatchThread.pumpEventsForFilter (fuente desconocida) en java.awt.EventDispatchThread.pumpEventsForHierarchy (fuente desconocida) en java.awt.EventDispatchThread.pumpEvents (fuente desconocida) en. awt.EventDispatchThread.run (fuente desconocida)
line 274 es
FileWriter fw = new FileWriter(out,true);
so necesito cambiar a String en lugar de OutputStream