Classes utilizadas: Date, SimpleDateFormat, File, JFileChooser, JFrame
Date dataAtual = new Date();
System.out.println(dataAtual);
...imprimirá as informação de data/hora encapsuladas no objeto dataAtual num formato padronizado (por exemplo: Thu Sep 08 14:36:01 BRT 2008).
SimpleDateFormat formatador1 = new SimpleDateFormat("dd/MM/yy");
... transforma objetos date em Strings onde o dia, mês e ano contêm dois dígitos e são separados pelo símbolo /:
Date agora = new Date();
String dataFormatada = formatador1.format(agora);
System.out.println(dataFormatada);
(Exemplo de saída: 08/09/05)
...já o objeto...
SimpleDateFormat formatador2 = new SimpleDateFormat("dd/MM/yyyy");
... transforma objetos date em Strings onde o ano é composto por quatro dígitos...
Date agora = new Date();
String dataFormatada = formatador2.format(agora);
System.out.println(dataFormatada);
(Exemplo de saída: 08/09/2005)
Date agora = new Date();
SimpleDateFormat formatador3 = new SimpleDateFormat("EEEE, dd/MMMM/yyyy, HH:mm:ss");
String dataFormatada = formatador3.format(agora);
System.out.println(dataFormatada);
(Exemplo de saída: Quinta-feira, 08/Setembro/2016, 15:25:38)
System.out.println(new SimpleDateFormat("EEEE, dd/MMMM/yyyy, HH:mm:ss").format(new Date()));
SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy);
String dataStr = "26/01/1979";
Date aniversário = formatador.parse(dataStr);
File diretorioTemp = new File("c:/temp");
... nos dá um objeto File que representa o diretório c:\temp.
String[] conteudo = diretorioTemp.list();
for (int k=0; k<conteudo.length; k++)
System.out.println(conteudo[k]);
(Saída:
jdk-1_5_0-windows-i586.exe
Untar.java
speed.mp3
)
File subDiretorio = new File(diretorioTemp,"P2");
subDiretorio.mkdirs();
conteudo = diretorioTemp.list();
for (int k=0; k<conteudo.length; k++)
System.out.println(conteudo[k]);
(Saída:
jdk-1_5_0-windows-i586.exe
Untar.java
speed.mp3
P2
)
File arquivo = new File(diretorioTemp,"speed.mp3");
arquivo.delete();
conteudo = diretorioTemp.list();
for (int k=0; k<conteudo.length; k++)
System.out.println(conteudo[k]);
(Possível saída:
jdk-1_5_0-windows-i586.exe
Untar.java
P2
)
JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(null);
File arquivoSelecionado = chooser.getSelectedFile();
String caminho = arquivoSelecionado.getPath();
System.out.println(caminho);
System.out.println(chooser.getSelectedFile().getPath());
Observe que, para construir alguns objetos, podemos passar algumas informações para os construtores. Por exemplo: SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yy");
Analisando o resultado da chamada de alguns métodos, por exemplo, formatador.format(new Date()), podemos perceber claramente que o objeto utilizou, de alguma forma, aquela informação passada como parâmetro quando da sua instanciação.
Desta forma, o objeto 'formatador' deve ter "armazenado" internamente a informação passada como parâmetro para o seu construtor e "acessado" tal informação quando solicitamos a operação format. Logo, podemos observar que os métodos dos objetos têm acesso aos seus parâmetros (obviamente), e também a informações que estão armazenadas internamente.
Documentação Oficial de SimpleDateFormat
Documentação Oficial de JFileChooser
3.1 Obter a data atual do sistema e retorná-la na forma de String.
3.2 Receber uma data (como String) no formato dd/mm/aaaa e retornar a mesma data (como String) no formato "<dia da semana>, <dia> de <nome do mês> de <ano>"
3.3 Receber um caminho de diretório como parâmetro e retornar um vetor com todos os itens do diretório. Dica: objetos da classe File podem ser usados para realizar operações sobre diretórios, entre várias outras coisas. Analise a documentação da classe File para saber além do que já foi descrito no conteúdo deste texto.
3.4 Receber um caminho de diretório como parâmetro e retornar um vetor com todos os itens do diretório. Cada item do vetor retornado deve estar precedido por "[A]", caso seja arquivo, e "D", caso seja diretório. Retorne um valor nulo caso o String recebido como parâmetro não corresponda a um diretório existente no disco. Mais uma vez, você precisará de um objeto da classe File para fazer o trabalho sujo para você.
3.5 Receber um caminho para um arquivo como parâmetro e deletar o arquivo.
3.6 (Desafio) Escreva um programa que mostre uma janela com dois menus - Arquivo e Editar. Dica: você deverá utilizar objetos das classes JFrame, JMenuBar e JMenu).
3.7 (Desafio) Escreva um método que receba como parâmetro um String representando um caminho para um arquivo executável e execute tal arquivo. Dica: pesquise no google "java como executar programas externos" (SEM as aspas) e seja feliz (você pode ter que escrever código que não vai entender bem - a ideia aqui é que você desenrole a solução independentemente de entender o que está acontecendo. Acredite, isso lhe será muito útil em sua vida de programador)
3.8 (Desafio) Escreva um método que receba o caminho de um arquivo de texto (txt) e abra o arquivo no bloco de notas (notepad no windows ou qualquer gedit no Ubuntu). Dica: você vai precisar apenas da solução da questão anterior e de um real a mais de esperteza.
3.9 (Desafio) Faça um método que mostre uma Janela (vazia) do tamanho da tela. O programa deve funcionar em monitores com diferentes resoluções. Dica de professor: a classe ToolKit pode prover o tamanho da tela. Dica de MÃE: pesquise "como criar uma janela tela cheia em java" (sem aspas, pelo amor de Deus) e seja feliz.
3.10 Receber duas datas como parâmetro e retornar a mais recente
3.11 (Desafio) Receber um array de Dates e modificar o array de forma que fique em ordem cronológica. Dica: use o método compareTo da classe Date
3.12 Receber uma data, na forma de String, no formato dd/mm/aaaa, e retornar o dia da semana referente à data.