я что-то пропустил ?

аюсь написать файл, который находится на веб-сервере, поэтому я использую:

URL url1 = new URL("ftp://user:pass@ftp.host/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);
} 

Этот код перезаписывает существующие данные в текстовом файле. Как я могу это исправить?

Я попробовал много решений здесь, от stackoverflow. Каждый раз, когда я получаю ту же ошибку, говоря, что мне нужно изменитьOutputStream вString.

как этот


 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());
        }

ошибки

Исключение в потоке "AWT-EventQueue-0" java.lang.Error: Неразрешенная проблема компиляции: конструктор FileWriter (OutputStream, логическое значение) не определен

в Connection.initialize (Connection.java:274) в Connection. (Connection.java:131) в Connection $ 1.run (Connection.java:113) в java.awt.event.InvocationEvent.dispatch (Неизвестный источник) в Java. awt.EventQueue.dispatchEventImpl (неизвестный источник) на java.awt.EventQueue.access $ 500 (неизвестный источник) на java.awt.EventQueue $ 3.run (неизвестный источник) на java.awt.EventQueue $ 3.run (неизвестный источник) на java .security.AccessController. .awt.EventDispatchThread. .EventDispatchThread.run (неизвестный источник)

строка 274

FileWriter fw = new FileWriter(out,true); 

поэтому мне нужно изменить на String вместо OutputStream