import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DecimalFormat;
import java.util.Arrays;
import java.util.Scanner;
import java.text.DecimalFormat;
public class avengersendgame {
public static void main(String[] args) throws IOException{
Scanner arquivoLeitura= null;
double porcentagem=0, espacoTotal=0;
int contador=0;
PrintWriter arquivoEscrita = new PrintWriter(new FileWriter("relatório.txt"));
try {//abrindo arquivo para leitura.
arquivoLeitura = new Scanner(new FileReader("avengers.txt"));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//leitura do arquivo e contagem de quantidades de avengers para criação do array e loop do for.
while (arquivoLeitura.hasNext()){
arquivoLeitura.next();
espacoTotal = espacoTotal+ arquivoLeitura.nextDouble();
contador++;
}
//criação dos arrays.
String nomesDosUsuarios[] = new String[contador];
double espacoUtilizado[] = new double[contador];
espacoTotal = espacoTotal/(1024*1024);
try {//abrindo arquivo para leitura denovo pois ele se fecha acho.
arquivoLeitura = new Scanner(new FileReader("avengers.txt"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
//escrever no arquivo e na saida.
arquivoEscrita.println("ACME Inc. Uso do espaço em disco pelos avengers");
arquivoEscrita.println("------------------------------------------------------------------------");
arquivoEscrita.println("Nr. Usuário Espaço utilizado % do uso");
System.out.println("ACME Inc. Uso do espaço em disco pelos avengers");
System.out.println("------------------------------------------------------------------------");
System.out.println("Nr. Usuário Espaço utilizado % do uso");
//loop das informações tanto no arquivo como na saida do netbeans.
for (int i=0; i<contador; i++){
DecimalFormat df = new DecimalFormat("0.00");//criação da formatação para decimais.
nomesDosUsuarios[i] = arquivoLeitura.next();
espacoUtilizado[i] = (arquivoLeitura.nextDouble())/(1024*1024);
String espacoUtilizadoemMb = df.format(espacoUtilizado[i]);
porcentagem = (espacoUtilizado[i]/espacoTotal)*100;
String porcentagemMb = df.format(porcentagem);
//escrita no arquivo e na saida da informação de nome, espaço utilizado e porcentagem.
arquivoEscrita.println((i+1) + " " + nomesDosUsuarios[i] + " " + espacoUtilizadoemMb+ "Mb" +" " +porcentagemMb+"%");
System.out.println((i+1) + " " + nomesDosUsuarios[i] + " " + espacoUtilizadoemMb+ "Mb" +" " +porcentagemMb+"%");
}
//colocando em duas casas decimais.
double formulaEspacoMedioOcupado = espacoTotal/contador;
DecimalFormat df = new DecimalFormat("0.00");
String espacoTotalMb = df.format(espacoTotal);
String formulaEspacoMedio = df.format(formulaEspacoMedioOcupado);
//escrevendo no arquivo e na saida a conclusão.
arquivoEscrita.println("");
arquivoEscrita.println("Espaço total ocupado: "+espacoTotalMb+" Mb");
arquivoEscrita.println("Espaço médio ocupado: "+formulaEspacoMedio+" Mb");
System.out.println("\nEspaço total ocupado: "+espacoTotalMb+" Mb");
System.out.println("Espaço médio ocupado: "+formulaEspacoMedio+" Mb");
arquivoEscrita.close();
arquivoLeitura.close();
}
}
Sem comentários:
Enviar um comentário