Java 从类路径中目录的子目录获取文件的路径
给定以下目录结构:Java 从类路径中目录的子目录获取文件的路径,java,file,resources,Java,File,Resources,给定以下目录结构: working-directory subfolder1 file1.wav file2.wav file3.wav subfolder2 file4.wav file5.wav file6.wav subfolder3 file7.wav file8.wav file9.wav jar-that-im-running.jar 我需要得到每个w
working-directory
subfolder1
file1.wav
file2.wav
file3.wav
subfolder2
file4.wav
file5.wav
file6.wav
subfolder3
file7.wav
file8.wav
file9.wav
jar-that-im-running.jar
我需要得到每个wav文件的路径。我认为,由于文件夹位于工作目录中,因此是类路径的一部分(如果我的假设是错误的,我只需将工作目录添加到类路径中),我可以运行:
String path = ClassLoader.getSystemResource("file1.wav");
或
但它不会工作,除非我指定wave文件所在的文件夹。这很好,但我不知道每个wave文件都在哪个文件夹中;我只知道他们的名字。我将以这样或那样的方式处理所有文件,但处理顺序取决于配置文件。另外,我不会直接编辑这些文件。相反,我将把它们作为参数传递给ProcessBuilder。由于路径中的某些目录可能有空格,这些空格会在URL中转换为
%20
,因此我想我可以使用path.replaceAll(“%20”,”“)
来转换它们。我最好使用文件,还是有办法在不知道其父文件夹的情况下获取特定的wav文件。您是否尝试从类加载器获取系统资源?下面是一段代码来说明:
String path = ClassLoader.getSystemResource("subfolder1/file1.wav");
您是否尝试从类加载器获取系统资源?下面是一段代码来说明:
String path = ClassLoader.getSystemResource("subfolder1/file1.wav");
是的,可以,但我不知道文件夹
file1.wav
在哪个文件夹中。对不起,让我澄清一下我的问题。你可以列出目录并进行查找。是的,这是可行的,但我不知道文件夹file1.wav
在哪个文件夹中。对不起,让我澄清我的问题。你可以列出目录并进行查找。