嗨,我想复制" play button.png" to" C:\ Users \ Wyatt \ AppData \ Roaming \ .The Labyrinth \ Assets \ Images"。我尝试使用这段代码:
File appdata = new File(System.getenv("APPDATA"));
File datafolder = new File(appdata, ".The Labyrinth");
File assets = new File(datafolder, "Assets");
assets.mkdir();
Files.copy(Paths.get("src\\main\\resources\\assets\\play button.png"), Paths.get(assets + "\\Images\\play button.png"));
但它引发了一个例外。
java.nio.file.NoSuchFileException: src\main\resources\assets\play button.png -> C:\Users\Wyatt\AppData\Roaming\.The Labyrinth\Assets\Images\play button.png
at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at sun.nio.fs.WindowsFileCopy.copy(Unknown Source)
at sun.nio.fs.WindowsFileSystemProvider.copy(Unknown Source)
at java.nio.file.Files.copy(Unknown Source)
at com.awsp8.labyrinth.TheLabyrinth.install(TheLabyrinth.java:73)
at com.awsp8.labyrinth.TheLabyrinth.main(TheLabyrinth.java:32)
TheLabyrinth.java:73就是这段代码:
Files.copy(Paths.get("src\\main\\resources\\assets\\play button.png"), Paths.get(assets + "\\Images\\play button.png"));
也许我这样做错了?我不知道。提前谢谢。
答案 0 :(得分:0)
不确定你想做什么,但是:
1)在你的java代码中使用/代替\,它也适用于Windows,最好维护。
2)你的src / main / resources / assets / play button.png是相对于运行代码的目的地,我怀疑是C:\ Users \ Wyatt \ AppData \ Roaming。Labyrinth \ Assets \ Images \是你要指向的目录。
3)如果你在\ main \ reources中有你的play button.png(可怕的名字,我讨厌带空格的名字:-))并使用maven标准布局你可能已经在你的类路径上了,不要你呢?如果是这样,为什么不使用类似ClassLoader.getSystemClassLoader()。getResourceAsStream(" play button.png")来获取InputStream来读取?
4)如果你真的想通过Maven复制一些东西(你的问题标题是关于,但我很确定你的问题不是),这是如何做的示例:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>${maven.antrun.plugin.version}</version>
<executions>
<execution>
<id>copy jars</id>
<phase>install</phase>
<configuration>
<target>
<copy file="${project.basedir}/src/main/resources/play button.png"
tofile="somewhere i want to copy.png" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>