Java ottieni la dimensione del file

Oggi esamineremo diversi modi per ottenere la dimensione di un file in Java.

Ottenere la dimensione del file in Java

Esistono diverse classi che possiamo utilizzare per il programma di ottenimento delle dimensioni del file in Java. Alcune di esse sono;

  1. Java ottieni la dimensione del file utilizzando la classe File
  2. Ottenere la dimensione del file in Java utilizzando la classe FileChannel
  3. Java ottieni la dimensione del file utilizzando la classe FileUtils di Apache Commons IO

Prima di esaminare un programma di esempio per ottenere la dimensione del file, disponiamo di un file pdf di esempio con dimensioni di 2969575 byte.

Java ottieni la dimensione del file utilizzando la classe File

Il metodo File length() restituisce le dimensioni del file in byte. Il valore restituito non è specificato se questo file rappresenta una directory. Quindi, prima di chiamare questo metodo per ottenere la dimensione del file in Java, assicurati che il file esista e che non sia una directory. Di seguito è riportato un semplice esempio di programma Java per ottenere la dimensione del file utilizzando la classe File.

package com.journaldev.getfilesize;

import java.io.File;

public class JavaGetFileSize {

	static final String FILE_NAME = "/Users/pankaj/Downloads/file.pdf";

	public static void main(String[] args) {
		File file = new File(FILE_NAME);
		if (!file.exists() || !file.isFile()) return;

		System.out.println(getFileSizeBytes(file));
		System.out.println(getFileSizeKiloBytes(file));
		System.out.println(getFileSizeMegaBytes(file));
	}

	private static String getFileSizeMegaBytes(File file) {
		return (double) file.length() / (1024 * 1024) + " mb";
	}
	
	private static String getFileSizeKiloBytes(File file) {
		return (double) file.length() / 1024 + "  kb";
	}

	private static String getFileSizeBytes(File file) {
		return file.length() + " bytes";
	}
}

Ottenere la dimensione del file in Java utilizzando la classe FileChannel

Possiamo utilizzare il metodo size() di FileChannel per ottenere la dimensione del file in byte.

package com.journaldev.getfilesize;

import java.io.IOException;
import java.nio.channels.FileChannel;
import java.nio.file.Path;
import java.nio.file.Paths;

public class JavaGetFileSizeUsingFileChannel {

	static final String FILE_NAME = "/Users/pankaj/Downloads/file.pdf";

	public static void main(String[] args) {

		Path filePath = Paths.get(FILE_NAME);
		FileChannel fileChannel;
		try {
			fileChannel = FileChannel.open(filePath);
			long fileSize = fileChannel.size();
			System.out.println(fileSize + " bytes");
			fileChannel.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

Ottenere la dimensione del file in Java utilizzando la classe Apache Commons IO FileUtils

Se stai già utilizzando Apache Commons IO nel tuo progetto, allora puoi utilizzare il metodo sizeOf di FileUtils per ottenere la dimensione del file in Java.

package com.journaldev.getfilesize;

import java.io.File;

import org.apache.commons.io.FileUtils;

public class JavaGetFileSizeUsingApacheCommonsIO {

	static final String FILE_NAME = "/Users/pankaj/Downloads/file.pdf";

	public static void main(String[] args) {
		File file = new File(FILE_NAME);

		long fileSize = FileUtils.sizeOf(file);

		System.out.println(fileSize + " bytes");
	}
}

Ecco tutto per i programmi di ottenimento della dimensione del file in Java.

Puoi controllare altri esempi di IO Java dal nostro Repository GitHub.

Source:
https://www.digitalocean.com/community/tutorials/java-get-file-size