如何在Java中的特定位置返回文件?

时间:2012-01-12 16:50:38

标签: java file

我目前正在使用一个返回File对象的外部库函数。这适用于将文件设置为默认位置,但为了容纳并发用户,我需要将文件放在特定文件夹中。如果不能改变生成文件的功能,是否有一个File函数让我指定它将去哪里?

6 个答案:

答案 0 :(得分:1)

首先获取该文件,然后使用File.renameTo()将其移至指定位置。

答案 1 :(得分:1)

您可以使用renameTo(File destination) API中的File重命名将其存储在另一个抽象路径中的文件。

例如:

import java.io.File;

public class MainClass {

  public static void main(String args[]) {

    try {

      File oldFile = new File("/usr/bin/temp/");

      File newFile = new File("/usr/bin/hunter/temp");

      boolean result = oldFile.renameTo(newFile);

      System.out.println(result);
    } 
    catch (Exception e) 
    {
      e.printStackTrace();
    }

另请注意,API表示并不总是保证成功,因此每次使用此方法时都需要检查方法调用的返回值。

答案 2 :(得分:1)

我相信你必须在你想要的位置创建一个新的File对象,然后使用FileInputStream读取你原来的FileFileOutputStream来写你想要的位置。

如果我没记错的话,File.renameTo并不总是最好的(见Javadoc)。

答案 3 :(得分:0)

您可以更改工作目录,如果只有Java允许您这样做。实际上,如果您收到已创建的文件,仍然可以使用File.renameTo()移动它。

答案 4 :(得分:0)

不,你需要做些什么来改变创建文件的位置,移动返回的文件,设置工作目录等等。后两者仍然会出现问题,这取决于应用程序的设置方式

如果您对该方法有某些洞察,则可以使用AOP。

答案 5 :(得分:0)

java.io.File对象只是文件或目录路径名的抽象表示,即它只是文件的名称和位置,而不是实际文件。不知道你正在使用的库,我不知道它是否已经创建了文件,只是告诉你它在哪里(我认为这很可能),或者它是告诉你在哪里创建文件。但是,您正在寻找的答案可能不涉及操纵此File对象,而是使用与库不同的方式来确定文件的位置。