如何在java中设置文件路径

时间:2014-09-01 02:16:30

标签: java javax.imageio

如何设置文件路径?我尝试了很多方法,但没有运气。但是没有错误。

  1. ImageIO.write(bufferedImage, "png", new File("test.png"));

  2. ImageIO.write(bufferedImage, "png", new File("/test.png"));

  3. ImageIO.write(bufferedImage, "png", new File("http://localhost:8080/fullscreenSignature/WebContent/VAADIN/images/test.png"));

  4. 我尝试了所有这些,但没有一个适合我。我只需要在服务器的任何地方上传图像。 谢谢

2 个答案:

答案 0 :(得分:2)

我不知道'设置文件路径'是什么意思,但是:

  

ImageIO.write(bufferedImage,“png”,new File(“test.png”));

这将在当前目录中编写一个名为test.png的文件,前提是您具有写访问权限,否则会抛出IOException表示您没有,或者说出现了其他问题。

  

ImageIO.write(bufferedImage,“png”,new File(“/ test.png”));

这将在根目录中编写一个名为test.png的文件,前提是您具有写访问权限(您可能没有),因此会抛出IOException.

  

ImageIO.write(bufferedImage, "png", new File("http://localhost:8080/fullscreenSignature/WebContent/VAADIN/images/test.png"));

这将抛出IOException,因为URL不是文件名。这不是有效的代码。

答案 1 :(得分:0)

  

如何设置文件路径?

基本上,答案是您必须使用RIGHT文件路径。这意味着您需要了解Java库如何解析文件路径。这也很简单。

  • 在Windows计算机上,文件路径以" X为前缀:"一些字母" X"使用特定驱动器限定路径。 (如果将其关闭,则假定应用程序的当前驱动器。)然后剥离驱动器,文件路径的其余部分解释如下。

  • 以" /"开头的文件路径;相对于根文件系统已解析。所以,例如," /test.png"表示名为" test.png"的文件。在系统的根目录中。 (这可能不应该起作用,因为该目录应该被写保护!!)

  • 不以" /&#34开头的文件路径;相对于应用程序的当前目录解析。如果直接从shell命令提示符启动应用程序,则当前目录将是shell的当前目录。否则,启动java应用程序的脚本或应用程序可能会在启动之前更改当前目录....


所以" image.png"和" /image.png"是有效的文件路径,但它们不一定是正确的;即它们可能不可写。如果你想要一个应该可写的路径(在一个典型的Linux盒子上),试试" /tmp/image.png" ......或某些人。 (但同样,其他人可能已经创建了一个具有该路径名的文件....)

但" http://localhost:8080/fullscreenSignature/WebContent/VAADIN/images/test.png"是URL而不是文件路径...并且不会工作。