Java 如何在src/main/resources中创建文件

Java 如何在src/main/resources中创建文件,java,file,maven,file-io,Java,File,Maven,File Io,如果我这样做 fis = new FileInputStream(new File(".").getAbsolutePath() + "/sudoinput.txt"); 它正在尝试写入服务器上的此位置。我不确定这是否是可写的 地点 我想给你写信 webapps/sudoku/WEB-INF/classes 基本上 C:\Users…\git\sudo项目\sudo\src\main\resources 在EclipseWindows7上,我得到了这个 错误 src\main\resource

如果我这样做

fis = new FileInputStream(new File(".").getAbsolutePath() + "/sudoinput.txt");
它正在尝试写入服务器上的此位置。我不确定这是否是可写的 地点

我想给你写信 webapps/sudoku/WEB-INF/classes 基本上 C:\Users…\git\sudo项目\sudo\src\main\resources

在EclipseWindows7上,我得到了这个 错误 src\main\resources\sudoinput.txt(系统找不到指定的路径) 如果我给

fis = new FileInputStream("src/main/resources/sudoinput.txt");
我也试过:

fis = new FileInputStream("src\\main\\resources\\sudoinput.txt");
但是不起作用

我应该如何创建能够写入src/main/resources的fileinputstream?
请注意,我正在使用eclipse windows进行开发,如果这改变了需要指定路径的方式,我将把.war文件上载到unix服务器上。

您可以保留在resources下创建的文件并调用.class.getresource(您的文件名或路径用斜杠分隔)


看看它是否适合您。

您可以保留在resources下创建的文件并调用.class.getresource(您的文件名或路径用斜杠分隔)


查看它是否适合您。

src/main/resources文件夹是一个应该包含应用程序的资源的文件夹。正如您所指出的,maven将这些文件打包到文件的根目录中,以便您可以在库中访问它们

看一看这张照片

在某些情况下,可以根据上下文进行书写,但尝试一下并不是一个好主意。根据webapp的部署方式,您可能无法写入目录。考虑部署.WAR存档时的情况。这意味着你试图写入战争档案,这是不可能的


更好的办法是使用临时文件。通过这种方式,无论web应用程序的部署方式如何,您都可以确保这项功能正常运行。
src/main/resources
文件夹应该包含应用程序的资源。正如您所指出的,maven将这些文件打包到文件的根目录中,以便您可以在库中访问它们

看一看这张照片

在某些情况下,可以根据上下文进行书写,但尝试一下并不是一个好主意。根据webapp的部署方式,您可能无法写入目录。考虑部署.WAR存档时的情况。这意味着你试图写入战争档案,这是不可能的


更好的办法是使用临时文件。通过这种方式,无论web应用程序的部署方式如何,您都可以确保这一点。

如果您想在
webapps/sudoku/web-INF/classes
中创建文件,那么最后在创建的WAR文件中创建文件,可以通过将所需文件放入
src/main/resources/

这意味着您需要创建文件夹
src/main/resources
,并将您喜欢的文件放入该目录。

如果您喜欢在
webapps/sudoku/WEB-INF/classes
中创建文件,则该文件夹最后位于创建的WAR文件中,可以通过将您想要的文件放入其中来实现
src/main/resources/

这意味着您需要创建文件夹
src/main/resources
,并将您喜欢的文件放入该目录。

同意Sandiip Patil。如果您的资源中没有文件夹,那么路径将是
/sudoinput.txt
或文件夹
/folder\u name/sudoinput.txt.
要从资源中获取文件,您应该使用
YourClass.class.getResource(“/filename.txt”)

比如说

Scanner scanner = new Scanner(TestStats.class.getResourceAsStream("/123.txt"));


另请看:

同意Sandiip Patil。如果您的资源中没有文件夹,那么路径将是
/sudoinput.txt
或文件夹
/folder\u name/sudoinput.txt.
要从资源中获取文件,您应该使用
YourClass.class.getResource(“/filename.txt”)

比如说

Scanner scanner = new Scanner(TestStats.class.getResourceAsStream("/123.txt"));


另请看:

我不确定我是否在跟踪;如何在src/main/resources中保存或创建文件;fis=newFileInputStream(“/src/main/resources/sudoinput.txt”);它不起作用了。我并没有在eclipse中创建这个文件来写入它。它是由代码创建的,我不确定我是否在遵循它;如何在src/main/resources中保存或创建文件;fis=newFileInputStream(“/src/main/resources/sudoinput.txt”);它不起作用了。我并没有在eclipse中创建这个文件来写入它。它是由代码创建的
Scanner scanner = new Scanner(new `FileInputStream(TestStats.class.getResource("/123.txt").getPath()));`