Como faço para verificar uma data em arquivo txt

To com um exercicio aqui para fazer, mas parei nessa parte…

o exercicio e o seguinte…

tenho que criar um servlet aonde ele vai verificar se o login e a senha batem com o que está gravado em um arquivo txt.
Nesse arquivo txt contem um login, uma senha e uma data de nascimento.
após o login e a senha terem sido feitos, deve ser feito uma verificação…
Se for dia do aniversario da pessoa deve aparecer a Mensagem 1;
Se estiver faltando 10 dias para o aniversario da pessoa deve aparecer a Mensagem 2;
Se a senha ou o login for digitado errado deve aparecer a Mensagem 3;
e se for qualquer outro caso deve aparecer a Mensagem 4.

No caso de login ou senha incorreto eu consegui.
O meu problema é que eu não to conseguindo fazer a parte de verificação de data de aniversario e se faltam 10 dias.

Se alguem puder me ajudar ai eu agradeço…

abraços!!! :smiley:

Podes fazer algo assim…
Ali fiz um parser, pois possuo a data apenas em String…então precisa converter para date…

		try 
		{
			SimpleDateFormat myForm = new SimpleDateFormat("dd/MM/yyyy");
			
			String minhaDataEmString = "20/07/2009";
			Date myDate = myForm.parse( minhaDataEmString );
			
			String meuNascimento = "20/07/1989";
			Date myDateNascimento = myForm.parse( meuNascimento );
			
			Calendar calData = GregorianCalendar.getInstance();
			calData.setTime( myDate );
			
			Calendar calNascimento = GregorianCalendar.getInstance();
			calNascimento.setTime( myDateNascimento );
			
			if( calData.get( Calendar.MONTH ) == calNascimento.get( Calendar.MONTH ) ) 
			{
				if( calData.get( Calendar.DAY_OF_MONTH ) == calNascimento.get( Calendar.DAY_OF_MONTH ) ) 
				{
					System.out.println("Parabens !");
				}
			}
		} 
		catch (ParseException e) {
			e.printStackTrace();
		}
	}

o resto é com você :wink:

nossa…
vlw hitcurst…

consegui avança aqui no programa…
me ajudo muito esse código…

agora vou da uma pensada aqui pro caso de faltar 10 dias pro aniversario ter que aparecer outra mensagem…

vlw denovo… :smiley: :smiley:

meu…
to pensando aqui, mas não to conseguindo termina…

se não for pedir muito pra me ajudar denovo…

eu preciso que caso falte 10 dias ou menos para o aniversario da pessoa, mostre uma mensagem…
só que eu não to conseguindo coloca a lógica…

eu pensei em algo tipo assim…

if(dataAniver.get(Calendar.DATE) < dataAtual.get(Calendar.DATE) && dataAniver.get(Calendar.DATE) >= dataAtual.get(Calendar.DATE -10){
mensagem
}

mais nao to conseguindo…tentei um monte de coisa aqui e nada…

agradeço desde já ajuda!!!

abraços

me esforcei um poko mais aki e consegui…vou deixar o codigo pra quem quiser da uma olhada

[code]import javax.servlet.;
import javax.servlet.http.
;
import java.io.;
import java.text.SimpleDateFormat;
import java.util.
;

@SuppressWarnings(“serial”)
public class httpLogin extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter output;
response.setContentType(“text/html”); //tipo do conteúdo
output = response.getWriter(); // obtém o fluxo de saída

	output.println("<htlm><head><title>");
	output.println("Trabalho Servlet");		
	output.println("</title></head> </body>");
	output.println("</body></html>");
}

public void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	//Pega login e senha
	String login = request.getParameter("login");
	String senha = request.getParameter("senha");
	
	PrintWriter imprimir;
	response.setContentType("text/html"); //tipo do conteudo
	imprimir = response.getWriter(); // obtem o fluxo de saida
	
	String linha;
	java.io.BufferedReader buffer;
	java.io.InputStream ins = null;
	java.util.ArrayList <String> lista = new java.util.ArrayList <String>();
	
	//Busca o arquivo txt
	try{
		ins = this.getClass().getClassLoader().getResourceAsStream("../resources/login.txt");
		InputStreamReader insr = new InputStreamReader(ins);
		buffer = new BufferedReader(insr);
		do{
			linha = buffer.readLine();
			lista.add(linha);
		} while (linha != null);
		Iterator txt = lista.iterator();
		if (txt.next().equals(login) && txt.next().equals(senha)) {
			
			SimpleDateFormat tipodata = new SimpleDateFormat("dd/MM/yyyy");
			
			String datatxt = (String) txt.next();
			Date data = tipodata.parse(datatxt);
			
			Calendar calDatatxt = GregorianCalendar.getInstance();
			calDatatxt.setTime(data);
			
			GregorianCalendar dataAtual = new GregorianCalendar();
			dataAtual.add(Calendar.DATE,0);
			
			if(calDatatxt.get(Calendar.DATE) == dataAtual.get(Calendar.DATE)){
					imprimir.println ("<h2><p>Feliz Aniversário</p></h2>");
			}else{
				if(calDatatxt.get(Calendar.MONTH) <= dataAtual.get(Calendar.MONTH) || calDatatxt.get(Calendar.MONTH) > dataAtual.get(Calendar.MONTH)-2){
					if(calDatatxt.get(Calendar.DAY_OF_YEAR)< dataAtual.get(Calendar.DAY_OF_YEAR) && calDatatxt.get(Calendar.DAY_OF_YEAR) >= dataAtual.get(Calendar.DAY_OF_YEAR)-10){
						imprimir.println ("<h2><p>Seu aniversario esta próximo</p></h2>");
					}else{
						imprimir.println ("<h2><p>Bem-Vindo ao Sistema</p></h2>");
					}
				}else{
					imprimir.println ("<h2><p>Bem-Vindo ao Sistema</p></h2>");
				}
			}
		}else{
			imprimir.println ("<h2><p>Dados incorretos</p></h2>");
		}
	} catch (Exception e) {
		// TODO: handle exception
	}
	imprimir.println ("<p>Trabalho Servlet</p>");
	imprimir.println ("</body></html>");
}

}[/code]

abraços