dúvida em arquivos

Pessoal, estou com uma dúvida, um exercício do livro que estou estudando pede para concatenar 2 arquivos, conteúdo da origem adicionar no destino, Pensei em fazer do seguinte modo, abrir o arquivo de leitura e armazenar cada linha em um buffer, posicionar o ponteiro de arquivo no último byte, e gravar a linha no arquivo de saida.Acontece o seguinte:

executo a primeira vez:
adicionado.
foi?

executo segunda vez:
"

[i]outra frase
dicionado.

foi?
[/i]"

perceba que a nova frase não foi adicionada ao final do arquivo, e apareceu essas “coisas”. fico grato se alguém me dizer onde estou errando e sugestão de outros modos para fazer isso :grin:

public void anexar(File from,File to) throws  IOException
	{
		
		BufferedReader leitor = null;
	 	RandomAccessFile escritor = null;
		
		if(!from.exists())	
			throw new IllegalArgumentException();
		try
		{
	                escritor = new RandomAccessFile(to,"rw");
			escritor.seek(from.length());
			leitor = new BufferedReader(new FileReader(from));
			boolean fim = false;
			while(!fim)
			{
				String linha = leitor.readLine();
				if(linha == null)
					fim = true;
				else
                                {
					escritor.writeChars(linha);
					escritor.writeChars("\n");
				}
			}
		}
		finally
		{
			if(leitor != null)
				leitor.close();
			if(escritor != null)
				escritor.close();
		}
	}