java - 在 OS X 上创建文件夹

标签 java macos filesystems classnotfound create-directory

我有一个代码可以在 Mac 操作系统中创建文件夹

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

import java.io.File;
import java.net.URL;

/**
 *
 * @author kishan
 */
public class CreatingMacFile {
    public static void main(String[] args){

        boolean check = new CreatingMacFile().makefile();
        if (check) {
            System.out.println("file created");
        }else{
            System.out.println("file is not created");
        }
    }


    public boolean makefile() {
        try {

            String resource = CreatingMacFile.class.getName().replace(".", File.separator) + ".class";
            URL fileURL = ClassLoader.getSystemClassLoader().getResource(resource);

            String path = new File(fileURL.toURI()).getParent();
            System.out.println("this is path that we getting: "+path);
            String mySubFolder = "subFolder";
            File newDir = new File(path + File.separator + mySubFolder);

            System.out.println("File Path: "+newDir.getAbsolutePath());

            boolean success = newDir.mkdir();

            if (success) {
                return true;
            }else{
                return false;
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }
}

但我收到 noClassFound 错误

我缺少什么?

堆栈跟踪

Exception in thread "main" java.lang.NoClassDefFoundError: CreatingMacFile
Caused by: java.lang.ClassNotFoundException: CreatingMacFile
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

最佳答案

Class<?> c = ...
File file = new File("/tmp/", c.getName().replaceAll("\\.", File.separator));
file.mkdirs();

注意 mkdirs() 方法(以 s 结尾)。 HTH。

关于java - 在 OS X 上创建文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23541008/

相关文章:

macos - 如何为 MacOS 生成工作索引 Mojave 和 Catalina 帮助

ruby - 使用 Ruby 中的 URL 打开浏览器

linux - 写入内存映射稀疏文件的孔中

安卓开发 : Accessing external SD card directly on Samsung devices (with extSdCard path)?

c# - Windows 中文件的全局唯一 ID

java - 如何使用 jax rs 调用rest

java - 启动画面粘在屏幕上 - 主要 Activity 未启动

php - 安装 phpredis MAC OSX

java - 唯一的数组列表

java - ThreadInfo 类提供的信息是否比 JVMTI 提供的信息更多?