Criar um arquivo de texto no servidor

Olá.

Estou com uma dúvida em como criar um arquivo de texto no lado do servidor. Esse arquivo será acessado posteriormente no lado do cliente.
Qual o melhor modo de se criar esse arquivo? Pensei em usar o FileWriter, algum problema com isso? Existe algo próprio para isso.

Ah, e onde eu posso criar esse arquivo. Estava pensando em criar na pasta “web”, mesma pasta onde estão as páginas!

Muito obrigado!
Abraço, Bottoni

Então, em relação em usar FileWriter ou não fica a seu critério, não estará errado, use o que lhe for mais conveniente, ok?

Quanto sobre onde guardar, já pensou na possibilidade de algum outro usuário estiver criando arquivos também? um não poderá sobrescrever o outro?
Eu decidiria por um diretório especial no home do usuário que o servidor sobe.

Abraços.

O cliente fará download do arquivo??

se sim, não há necessidade de grava-lo no disco

[quote=zoren]O cliente fará download do arquivo??

se sim, não há necessidade de grava-lo no disco[/quote]

Exato, mas se o arquivo gerado for muito grande complica =Z

Lógico que se for um relatório, algo bem pequeno não vale nada apena gravar em disco.

O que está usando? jsp? jsf? struts?

Abraços.

Isso não será um problema. Somente eu poderia criar esse arquivo. Os usuários em geral poderiam apenas ler ele.

A minha ideia era criar esse arquivo por uma classe java, e acessá-lo em uma página JSP via JavaScript. E na verdade o arquivo seria um XML com alguns dados que preciso usar com a API Google Maps

Então na verdade você quer gerar esse arquivo e disponibiliza-lo para outros usuários baixarem, é isso?

Se for assim salve-o em um diretório no home do usuário que o servidor sobe, ou mesmo no banco de preferência.

criar o arquivo

public void criarPagina2d1r(String local) throws SQLException{
		String str = "Isto será escrito no arquivo de texto." +
		String arquivo = local;
/*aqui é onde o arquivo será salvo, exemplo: C:/arquivo/Meu arquivo.txt
   lembre-se de colocar a extensão do arquivo (a que você desejar (html, txt, json, etc)) */

		try {   
		    
			PrintWriter pw = new PrintWriter(new FileOutputStream(arquivo));

		    pw.println(str);
		    pw.close();
		    
		} catch(IOException e) {
		   System.out.println(e.getMessage());
		}
	}

para lê-lo utilise o reader do IO mesmo