如何使用不同协议(FTP、HTTP、SFTP)的OutputStream在Java中追加文件

如何使用不同协议(FTP、HTTP、SFTP)的OutputStream在Java中追加文件,java,java-io,outputstream,fileoutputstream,dataoutputstream,Java,Java Io,Outputstream,Fileoutputstream,Dataoutputstream,我想将数据写入ftp服务器(本地运行)上的文件(如果存在,则追加,否则创建新文件)。我有一个文件列表 public void write(List<byte[]> bytes, String path)throws Exception{ URL url = new URL(path); URLConnection conn = url.openConnection(); DataOutputStream out = new DataOutputStream(conn

我想将数据写入ftp服务器(本地运行)上的文件(如果存在,则追加,否则创建新文件)。我有一个文件列表

public void write(List<byte[]> bytes, String path)throws Exception{
   URL url = new URL(path);
   URLConnection conn = url.openConnection();
   DataOutputStream out = new DataOutputStream(conn.getOutputStream());
   for (byte[] byte : bytes) {
      out.write(byte);
   }
   out.close();
}
public void write(列表字节、字符串路径)引发异常{
URL=新URL(路径);
URLConnection conn=url.openConnection();
DataOutputStream out=新的DataOutputStream(conn.getOutputStream());
用于(字节[]字节:字节){
out.write(字节);
}
out.close();
}
注意:路径可以是HTTP、FTP或SFTP url。

它正在文件上覆盖。我想在该位置已经存在的文件中追加。
如何在OutputStream中启用附加模式?

我不确定通过
DataOutputStream
可以实现这一点,因为有一个特殊的FTP动词用于附加内容。您不使用专用FTP客户端的具体原因是什么?这是不对的,请使用FTP客户端库来读取、写入FTP服务器上的文件。盲目地在
DataOutputStream
上写入数据是行不通的,你忽略了发送文件所需的FTP协议。我必须将数据写入多个端点,如HTTP、FTP、SFTP。我应该使用什么使其适用于任何端点?