Ir ao conteúdo

Posts recomendados

Postado

Boa noite,

estou finalizando um bloco de notas em java e gostaria de saber se existe algum método específico ou alguma forma simples de salvar o texto após determinado período de tempo,

parecido com a função do do word que salva o arquivo sozinho após algum tempo.

  • Curtir 1
Postado

@Gileno33    você pode fazer isso manualmente com esses comandos

Calendar c = Calendar.getInstance();

e para usa-lo você pode usar esse código aqui com referencia :

package testa_metodo_get_calendar;
import java.util.Calendar;
public class Testa_Metodo_Get_Calendar {
    static int segd;
    static int ant_segd,tempo=5;
    
    public static void main(String[] args) {
        int x=1;
        Calendar c = Calendar.getInstance();
         
        System.out.println("Data/Hora atual -: "+c.getTime());
        System.out.println("Ano -------------: "+c.get(Calendar.YEAR));
        System.out.println("Mês -------------: "+c.get(Calendar.MONTH));
        System.out.println("Dia do Mês ------: "+c.get(Calendar.DAY_OF_MONTH));
        System.out.println();
        System.out.println("Hora ------------: "+c.get(Calendar.HOUR));
        System.out.println("Minuto ----------: "+c.get(Calendar.MINUTE));
        System.out.println("Segundos --------: "+c.get(Calendar.SECOND));

        segd = c.get(Calendar.SECOND);
        ant_segd = segd;
        System.out.println("pegou os segundos:"+segd);
        while(x==1){
            c = Calendar.getInstance();
            segd = c.get(Calendar.SECOND);
            if(segd != ant_segd){
                System.out.println("segd "+segd);
                tempo--;
                ant_segd = segd;
            }
            if(tempo<0){
                System.out.println("Aqui coloque o código para salvar no arquivo !");
                tempo=5;//salva o texto no arquivo a cada 5 segundo
            }
        }
    }
    
}

 

  • 3 meses depois...
Postado

@Gileno33 Olá. O tópica já meio antigo, mas creio que a melhor forma de se fazer o que você quer é com programação multithread

Segue um exemplo:

import java.time.LocalDateTime;

public class HorarioAtual extends Thread {

    private static final int MAX_TEMPO = 10000;
    private LocalDateTime dt = null;

    @Override
    public void run() {

        while (true) {

            imprimirHora();

            try {
                Thread.sleep(MAX_TEMPO);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    private void imprimirHora() {

        dt = LocalDateTime.now();

        System.out.println("Salvando o fictício arquivo...");

        System.out.println(String.format("%02d:%02d:%02d", dt.getHour(), dt.getMinute(), dt.getSecond()));
    }
}

public class Aplicacao {

    public static void main(String[] args) {

        HorarioAtual horarioAtual = new HorarioAtual();
        int i = 0;

        Thread t1 = new Thread(horarioAtual);
        t1.start();

        // Aqui seria outro processo sendo executado apenas como exemplo (UI Thread)
        while (true) {
            System.out.println(i++);
            try {
                Thread.sleep(10000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }

    }

}

Só como exemplo :)

Fica bem mais simples assim

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!