package org.kodejava.io;
import java.io.File;
public class EmptyDirCheck {
public static void main(String[] args) {
File file = new File("D:/Downloads");
// Check to see if the object represent a directory.
if (file.isDirectory()) {
// Get list of file in the directory. When its length is not zero
// the folder is not empty.
String[] files = file.list();
if (files != null && files.length > 0) {
System.out.println(file.getPath() + " is not empty!");
}
}
}
}
Tag Archives: File
How do I create a human-readable file size?
This example demonstrates how to create a human-readable file size using the FileUtils class of the Apache Commons IO library. The byteCountToDisplaySize() method take the file size in bytes and return a human-readable display of the file size in bytes, kilobytes, megabytes, gigabytes, etc.
package org.kodejava.commons.io;
import org.apache.commons.io.FileUtils;
import java.io.File;
public class ReadableFileSize {
public static void main(String[] args) {
File file = new File("D:/Downloads/jdk-17_windows-x64_bin.exe");
long size = file.length();
String display = FileUtils.byteCountToDisplaySize(size);
System.out.println("Name = " + file.getName());
System.out.println("Size = " + size);
System.out.println("Display = " + display);
}
}
Here are the results of our program:
Name = jdk-17_windows-x64_bin.exe
Size = 159373640
Display = 151 MB
Maven Dependencies
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.14.0</version>
</dependency>
How do I copy file?
This example demonstrates how to copy file using the Java IO library. Here we will use the java.io.FileInputStream and it’s tandem the java.io.FileOutputStream class.
package org.kodejava.io;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileCopyDemo {
public static void main(String[] args) {
// Create an instance of source and destination files
File source = new File("source.pdf");
File destination = new File("target.pdf");
try (FileInputStream fis = new FileInputStream(source);
FileOutputStream fos = new FileOutputStream(destination)) {
// Define the size of our buffer for buffering file data
byte[] buffer = new byte[4096];
int read;
while ((read = fis.read(buffer)) != -1) {
fos.write(buffer, 0, read);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
How do I read file line by line using java.util.Scanner class?
Here is a compact way to read file line by line using the java.util.Scanner class.
package org.kodejava.util;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ScannerReadFile {
public static void main(String[] args) {
// Create an instance of File for data.txt file.
File file = new File("README.md");
try {
// Create a new Scanner object which will read the data
// from the file passed in. To check if there are more
// line to read from it, we call the scanner.hasNextLine()
// method. We then read line one by one till all lines
// is read.
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
How do I create a directories recursively?
The code below use File.mkdirs() method to create a collection of directories recursively. It will create a directory with all its necessary parent directories.
package org.kodejava.io;
import java.io.File;
public class CreateDirs {
public static void main(String[] args) {
// Define a deep directory structures and create all the
// directories at once.
String directories = "D:/kodejava/a/b/c/d/e/f/g/h/i";
File file = new File(directories);
// The mkdirs will create folder including any necessary
// but nonexistence parent directories. This method returns
// true if and only if the directory was created along with
// all necessary parent directories.
boolean created = file.mkdirs();
System.out.println("Directories created? " + created);
}
}
