Gravação de dados no arquivo .txt no java servlet (ERRO)

3 respostas
A
fala galera eu novamente estou que seguinte codigo abaixo para validar campos em branco e o principal o email feito estas validações os dados devem ser gravados em um arquivo .txt mas o que ocorre quando compilo o meu codigo aparece mensagem erro linha "try{ (que no jcreator aparece ('catch without 'try') catch(Exception e){ (que no jcreator aparece ('try' without 'catch' or 'finally')
import java.io.*;
import java.nio.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;


public class Cadastro1 extends HttpServlet
{
	public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
	{
			   
			    PrintWriter out = response.getWriter();
			
					String nome = request.getParameter("nome");
					String endereco = request.getParameter("endereco");
					String email = request.getParameter("email");
					String cpf = request.getParameter("cpf");
					String telefone = request.getParameter("telefone");
					String dtn = request.getParameter("dtn");
				
					if( nome == null || endereco == null || email == null || cpf == null || telefone == null || dtn == null) 
					{
						response.sendRedirect("erro.html");	
					}
				
					if(nome.equals("") || endereco.equals("") || email.equals("") || cpf.equals("") || telefone.equals("") || dtn.equals(""))
					{
						response.sendRedirect("erro.html");
					}
					if(email.indexOf("@") != -1 && email.indexOf(".") != -1)
					 //email válido;
					{
					response.sendRedirect("efetuado.html");

					}
					else
					{
						response.sendRedirect("efetuado.html");
					try{
					       //gravando em arquivo
 	  	  				   FileOutputStream out=new FileOutputStream("C:\usuarioCadastrado.txt",true);
 	  	                       
 	  	    				 FileChannel fc=out.getChannel(); 
 	  	    				 ByteBuffer buffer=ByteBuffer.allocate(1024);
 	  	     
 	  	   						  buffer.put(string.getBytes());
 	  	   						  buffer.flip();
 	  	     
 	  	 			    fc.write(buffer);
 							 catch(Exception e){
 								System.err.println("Impossível a criacao do arquivo!!!");
 							e.printStackTrace();			
 						}	
                                    

					}
			              		
			
		
      	}
    }
 }

3 Respostas

jgbt

a msg ja diz o erro.
ta faltando fechar as chaves do bloco try, antes do catch. tem que ser assim:

try {
  //faz alguma coisa
}catch(Exception e) {
  //trata a exception
}

[]'s

A

apos fechar com as chaves agora esta dando erro nas linhas

FileOutputStream out = new FileOutputStream("C:\usuarioCadastrado.txt");
FileChannel fc = out.getChannel();
buffer.put(string.getBytes());

e peço desculpa pelas perguntas sobre compilação pois não sei nada sobre geração de arquivos e estou apanhado por não saber o que algumas linhas da geração fazem

jgbt

vc tem duas variaveis chamadas out no seu metodo.
outra coisa:

buffer.put(string.getBytes());

não existe “string” e sim String, e a classe String não tem um metodo estattico getBytes().
vc tem que fazer isso:

String x = "123";
x.getBytes();

entendeu?

[]'s

Criado 28 de abril de 2005
Ultima resposta 28 de abr. de 2005
Respostas 3
Participantes 2