package com.levelup.java.io; import static org.junit.Assert.assertEquals; import java.io.File; import java.io.IOException; import java.net.URISyntaxException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.attribute.BasicFileAttributes; import org.apache.commons.io.FileUtils; import org.junit.Before; import org.junit.Test; /** * This java example will demonstrate how * to get file size. * * @author Justin Musgrove * @see <a href='http://www.leveluplunch.com/java/examples/get-file-size/'>Get file size</a> */ public class GetFileSize { private static final String SOURCE = "com/levelup/java/io/get-file-size.txt"; Path source; @Before public void setUp () throws IOException, URISyntaxException { source = Paths.get(this.getClass().getClassLoader().getResource(SOURCE).toURI()); } @Test public void file_size () { File file = source.toFile(); assertEquals(29, file.length()); } @Test public void file_size_nio () throws IOException { BasicFileAttributes attr = Files.readAttributes(source, BasicFileAttributes.class); long fileSize = attr.size(); assertEquals(29, fileSize); } @Test public void file_size_apache_commons () { long fileSize = FileUtils.sizeOf(source.toFile()); assertEquals(29, fileSize); } }