Acrescentar linha em CSV

2 respostas
B

Oi Amigos.

Estou criando um arquivo .csv, até aí tudo bem. O problema é que preciso em outro momento acescentar conteúdo neste arquivo (mais um registro) e estou tendo dificuldade.
Como faço para escrever neste arquivo criado sem apagar o que já está lá?

<%@ page import="java.io.*" %>
<%@page import="java.util.*" %>
          
<%
String nomeuser = "joadasilva_02185478511";
String conteudo= "";
ServletContext context = session.getServletContext();
String realContextPath = context.getRealPath("/");
String path = realContextPath;

String filename = ""+nomeuser+".csv";
conteudo = "NOME;EMAIL;TELEFONE;CODIGO\rjuca almeida;[email removido];213343443;021/5847854";
File dir = new File(path);
File file = new File(dir, filename);

try {

	if (file.exists()) {

		// out.println("Arquivo existe");
                // Aqui deveria atualizar o conteúdo, acrescentando mais um registro caso ele exista.
                bw.write(conteudo);
		bw.flush();
		bw.close();

	}else{

		FileWriter fw = new FileWriter(file);
		BufferedWriter bw = new BufferedWriter(fw);
		bw.write(conteudo);
		bw.flush();
		bw.close();

	}

} catch (Exception ex) {
	out.println("erro");
}
%>

2 Respostas

T

new FileWriter (java.io.File, true)

B

thingol, muito obrigado.

Me salvou.

<%@ page import="java.io.*" %>
<%@page import="java.util.*" %>
          
<%
String nomeuser = "joadasilva_02185478511";
String conteudo= "";
ServletContext context = session.getServletContext();
String realContextPath = context.getRealPath("/");
String path = realContextPath;

String filename = ""+nomeuser+".csv";
conteudo = "NOME;EMAIL;TELEFONE;CODIGO\rjuca almeida;[email removido];213343443;021/5847854\r";
conteudo2 = "juca almeida;[email removido];213343443;021/5847854\r";
File dir = new File(path);
File file = new File(dir, filename);

try {

	if (file.exists()) {

		FileWriter fw = new FileWriter(file, true);
                BufferedWriter bw = new BufferedWriter(fw);
                bw.write(conteudo2);
		bw.flush();
		bw.close();

	}else{

		FileWriter fw = new FileWriter(file);
		BufferedWriter bw = new BufferedWriter(fw);
		bw.write(conteudo);
		bw.flush();
		bw.close();

	}

} catch (Exception ex) {
	out.println("erro");
}
%>
Criado 18 de fevereiro de 2009
Ultima resposta 18 de fev. de 2009
Respostas 2
Participantes 2