如何更改java.io.file对象中的文件路径位置

如何更改java.io.file对象中的文件路径位置,java,file-io,Java,File Io,问题说明了一切。 我有一个文件对象,它指向/home/user/filename1 如果调用file.getAbsolutePath(),它将返回/home/user/filename1 我的问题是— 我们可以将文件对象内部的路径更改为其他位置吗 如果是的话,怎么办 感谢“文件类的实例是不可变的;也就是说,一旦创建,由文件对象表示的抽象路径名将永远不会更改。” 文件类的实例是不可变的;也就是说,一旦创建,由文件对象表示的抽象路径名将永远不会更改 从文件中。文件在内部除了保存文件路径的字符串之外没

问题说明了一切。 我有一个文件对象,它指向
/home/user/filename1

如果调用file.getAbsolutePath(),它将返回
/home/user/filename1

我的问题是—

  • 我们可以将文件对象内部的路径更改为其他位置吗
  • 如果是的话,怎么办
  • 感谢

    “文件类的实例是不可变的;也就是说,一旦创建,由文件对象表示的抽象路径名将永远不会更改。”

    文件类的实例是不可变的;也就是说,一旦创建,由文件对象表示的抽象路径名将永远不会更改


    从文件中。

    文件在内部除了保存文件路径的字符串之外没有其他内容。所以不,这是不可能的。你为什么要做这样的事?除非您已将文件移动到其他位置

    文件在内部是一个字符串,它保存着文件的路径。所以不,这是不可能的。你为什么要做这样的事?除非您已将文件移动到其他位置

    正如前面有人指出的,文件和许多java API类一样是不可变的。也许你想把一个文件从某个地方复制到另一个地方?请记住,文件对象与文件内容没有实际绑定,并且不允许您修改或移动它

    看看ApacheCommonsIO


    这里有一个有用的库来处理文件。

    正如前面有人提到的,文件和许多java API类一样是不可变的。也许你想把一个文件从某个地方复制到另一个地方?请记住,文件对象与文件内容没有实际绑定,并且不允许您修改或移动它

    看看ApacheCommonsIO


    这里有一个有用的库来处理文件。

    我已经开发了一个代码来重命名文件,我必须递归地将文件保存在相同的位置。我认为下面的代码在某种程度上帮助了您。我必须替换文件名中的“-a”,并将其保存在同一文件夹中。如果需要替换“destPath”,您可以给出字符串路径的目标路径。我想这可能对你有帮助

    File oldfile =new File(file.getAbsolutePath());
        String origPath = file.getCanonicalPath();
        String destPath = origPath.replace(file.getName(),"");
        String destFile = file.getName();
        String n_destFile = destFile.replace("-a", "");
        File newfile =new File(destPath+n_destFile);
    

    我已经开发了一个重命名文件的代码,我必须递归地将文件保存在相同的位置。我认为下面的代码在某种程度上帮助了您。我必须替换文件名中的“-a”,并将其保存在同一文件夹中。如果需要替换“destPath”,您可以给出字符串路径的目标路径。我想这可能对你有帮助

    File oldfile =new File(file.getAbsolutePath());
        String origPath = file.getCanonicalPath();
        String destPath = origPath.replace(file.getName(),"");
        String destFile = file.getName();
        String n_destFile = destFile.replace("-a", "");
        File newfile =new File(destPath+n_destFile);
    

    原因是,我正在为一个跨平台系统开发它,其中文件名可以区分大小写(对于Linux)和大小写(对于Windows,即Fat文件系统)。我被要求对File.exists()进行不区分大小写的检查,我已经能够这样做了,但我希望原始的File对象指向系统上的实际路径,并带有其确切的大小写。为什么要向下投票??我清楚地问过我的疑问,我们是否可以改变文件的路径。提出疑问有什么错?我对此不负责:)我理解。。不必担心,可能有人投了反对票,因为他们认为您可以自己做更多的研究,因为文件是不可变的这一事实并不难发现。不过,我没有投反对票,我认为这个问题适合SOReason,我正在为一个跨平台系统开发它,在这个系统中,文件名可以区分大小写(对于Linux)和大小写(对于Windows,即Fat文件系统)。我被要求对File.exists()进行不区分大小写的检查,我已经能够这样做了,但我希望原始的File对象指向系统上的实际路径,并带有其确切的大小写。为什么要向下投票??我清楚地问过我的疑问,我们是否可以改变文件的路径。提出疑问有什么错?我对此不负责:)我理解。。不必担心,可能有人投了反对票,因为他们认为您可以自己做更多的研究,因为文件是不可变的这一事实并不难发现。不过我没有投反对票,我认为这个问题很合适