任务是在现有的资源文件夹中创建一个新文件(例如,命名为“local”)
File file1 = new File("src/main/resources/" + "local" + "/" + "newFile.zip");
file1.createNewFile();
但是没有创建任何东西,也没有抛出任何异常。
我也试过创建,通过使用绝对路径。
File file1 = new File(File("src/main/resources/").getAbsolutePath() + "/" + "local" + "/" + "newFile.zip");
file1.createNewFile();
但结果是一样的。
我做错了什么?
1条答案
按热度按时间umuewwlo1#
一个程序应该永远不要试图修改自己。
src/main/resources
目录被称为“源代码”是有原因的。源代码被编译成一个单独的程序。该程序只包含可执行程序(类文件和数据),而不包含源代码。总而言之:当其他人运行你的代码时,你不能修改任何东西。
持久化用户数据的正确方法是将其写入known location,通常位于用户主目录下的某个位置。
将只读默认数据与应用程序捆绑在一起是完全可以接受的,如果在用户的已知位置找不到文件,就会使用这些数据。