Como Verificar Tamanho de Arquivo em 10 Linguagens de Programação

C, C++, Java, Lua, Perl, Python, PHP, C#, JavaScript/Nodejs e Go.


Como Verificar Tamanho de Arquivo em 10 Linguagens de Programação


Hoje, mais uma vez, vamos exercitar nossos conhecimentos criando rotinas que podem ser úteis em diversas situações. E dessa vez veremos como saber o tamanho de um arquivo em 10 linguagens de programação diferentes, são elas: C, C++, Java, C#, PHP, Lua, Perl, Python, JavaScript/Node.js e Go/Golang.

Assim como nos artigos:

Vou somente postar o código de cada uma delas!

O arquivo file.iso é fictício e você deve substituir por um arquivo válido em seu computador para efetivar os testes.

Você pode comparar o resultado usando o comando: du -h file.iso.


01. C

filesize.c

#include <stdio.h>

int main(){
  FILE * file = fopen("file.iso", "rb");
  fseek(file, 0, SEEK_END);
  int size = ftell(file);
  fclose(file);
  printf("%d MB\n", (size / 1024) / 1024);
  return 0;
}

gcc filesize.c && ./a.out


02. C++

filesize.cpp

#include <iostream>
#include <fstream>

int main(){
  std::ifstream file("file.iso", std::ios::in | std::ios::binary);
  file.seekg(0, std::ios::end);
  std::cout << (file.tellg() / 1024) / 1024 << " MB\n";
  return 0;
}

g++ filesize.cpp && ./a.out


03. Java

FileSize.java

import java.io.File;

public class FileSize {
  public static void main(String[] args) {
    String path = "file.iso";
    long size = new File(path).length();
    System.out.println(( size / 1024 ) / 1024 + " MB");
  }
}

javac FileSize.java && java FileSize


04. Lua

filesize.lua

file = io.open("file.iso", "r")
size = math.floor((file:seek("end") / 1024) / 1024)
print(size .. " MB")

lua filesize.lua



05. Perl

filesize.pl

$path = "file.iso";
my $x = -s $path;
$x = ($x / 1024) / 1024;
$x = int($x);
print("$x MiB\n");

perl filesize.pl


06. Python

filesize.py

import os
path = "file.iso"
size = os.path.getsize(path)
print( str( int( (size / 1024) / 1024) ) + " MB")

python filesize.py


07. PHP

filesize.php

<?php
$path = "file.iso";
$x = filesize($path) / 1024 / 1024; 
echo intval($x) . " MB\n";

php filesize.php


08. C#

dotnet new console -o FileSize && cd FileSize && vim Program.cs

string path = "file.iso";
long size = new System.IO.FileInfo(path).Length;
Console.WriteLine( (size/1024) / 1024 + " MB" );

dotnet run


09. JavaScript/Node.js

filesize.js

const {readFileSync: read} = require ('fs')
const path = "file.iso"
let size = read(path).length
size = (size / 1024) / 1024
console.log(parseInt(size) + " MB")

node filesize.js


10. Golang/Go

filesize.go

package main

import("fmt";"os")

func main(){
  file, err := os.Stat("file.iso")
  _ = err
  size := file.Size()
  fmt.Println( (size/1024) / 1024,"MB")
}

go build filesize.go && ./filesize ou go run filesize.go


Até o próximo artigo!


langs cpp linguagemc java csharp lua perl php python javascript nodejs go programacao


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo


Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!