Entrada: diretorio definido pelo usuario
Saida: informar o numero de arquivos dentro do diretorio
Solução
1) Solicitar o diretorio do usuario
2) Se o diretorio nao existir
2.1) Mostrar mensagem de erro
3) Senao
3.1) Acessar os metadados do diretorio (classe File)
3.2) Se o arquivo nao for um diretorio
3.2.1) Mostrar um erro ao usuario
3.3) Senao
3.3.1) Obter a listagem dos arquivos no diretorio
3.3.2) Exibir a quantidade de arquivos existentes
Código Fonte em Java
import java.io.*;
import java.util.*;
public class NumeroArquivos{
public static void main(String [] args){
Scanner sc = new Scanner(System.in);
System.out.println("Digite um caminho de diretorio");
String dir = sc.nextLine();
File arq = new File(dir);
if (!arq.exists()){
System.out.println("ERRO: caminho nao existe");
} else {
if (arq.isFile()){
System.out.println("ERRO: caminho nao eh um diretorio");
} else {
int num = arq.listFiles().length;
System.out.println("Número de arquivos: " + num);
}
}
}
}
Problema 2
Entrada: diretorio definido pelo usuario
Saida: informar o arquivo de maior tamanho no diretório
Código Fonte em Java
import java.io.File;
import java.util.Scanner;
public class NumeroArquivos {
public static void main(String [] args){
Scanner sc = new Scanner(System.in);
System.out.println("Digite um caminho de diretorio");
String dir = sc.nextLine();
File arq = new File(dir);
if (!arq.exists()){
System.out.println("ERRO: caminho nao existe");
} else {
if (arq.isFile()){
System.out.println("ERRO: caminho nao eh um diretorio");
} else {
File[] listFiles = arq.listFiles();
int num = listFiles.length;
System.out.println("Número de arquivos: " + num);
long tam = 0;
String maiorArquivo = null;
for (File f: listFiles){
System.out.println(f);
if (f.isFile() && f.length() > tam){
tam = f.length();
maiorArquivo = f.getAbsolutePath();
}
}
System.out.println("Maior arquivo: " + maiorArquivo);
System.out.println(tam + " bytes");
}
}
sc.close();
}
}
Nenhum comentário:
Postar um comentário