import java.io.IOException;
import java.nio.file.DirectoryNotEmptyException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;

public class MoveFilesTest {

    public static void main(String[] args) throws Exception {
        test();
    }

    private static void test() throws IOException {

        Path notEmpty = Files.createTempDirectory("notEmpty");
        Path source = Files.createTempFile(notEmpty, "file", "dat");

        Path empty = Files.createTempDirectory("empty");

        try {
            System.out.println("The paths are " + notEmpty + " " + empty);
            Files.move(notEmpty, empty, StandardCopyOption.REPLACE_EXISTING);
            throw new RuntimeException("DirectoryNotEmptyException not thrown");
        } catch (DirectoryNotEmptyException expected) {
            System.out.println("Caught expected DirectoryNotEmptyException");
        } catch (IOException ioe) {
            // permissible in place of DirectoryNotEmptyException
            System.out.println("WARNING: " + ioe);
        }
    }
}
