我目前正在使用一个返回File对象的外部库函数。这适用于将文件设置为默认位置,但为了容纳并发用户,我需要将文件放在特定文件夹中。如果不能改变生成文件的功能,是否有一个File函数让我指定它将去哪里?
答案 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
读取你原来的File
和FileOutputStream
来写你想要的位置。
如果我没记错的话,File.renameTo
并不总是最好的(见Javadoc)。
答案 3 :(得分:0)
您可以更改工作目录,如果只有Java允许您这样做。实际上,如果您收到已创建的文件,仍然可以使用File.renameTo()移动它。
答案 4 :(得分:0)
不,你需要做些什么来改变创建文件的位置,移动返回的文件,设置工作目录等等。后两者仍然会出现问题,这取决于应用程序的设置方式
如果您对该方法有某些洞察,则可以使用AOP。
答案 5 :(得分:0)
java.io.File对象只是文件或目录路径名的抽象表示,即它只是文件的名称和位置,而不是实际文件。不知道你正在使用的库,我不知道它是否已经创建了文件,只是告诉你它在哪里(我认为这很可能),或者它是告诉你在哪里创建文件。但是,您正在寻找的答案可能不涉及操纵此File对象,而是使用与库不同的方式来确定文件的位置。