Java 移动文件的替代方法

Java 移动文件的替代方法,java,file-io,Java,File Io,我想知道是否有其他方法可以将文件从一个目录移动到另一个目录,下面是我的程序片段。我相信应该有一种在java中移动文件的有效方法。如果可能的话,请看一看并回复。谢谢 public static void movFile(File pathFromMove,File pathToMove,File fileToMove) //helper method 2 { String absPathFile2= pathToMove.getAbsolutePath() + "\\"+fileT

我想知道是否有其他方法可以将文件从一个目录移动到另一个目录,下面是我的程序片段。我相信应该有一种在java中移动文件的有效方法。如果可能的话,请看一看并回复。谢谢

public static void movFile(File pathFromMove,File pathToMove,File fileToMove)    //helper method 2
{

    String absPathFile2= pathToMove.getAbsolutePath() + "\\"+fileToMove.getName();                                                              //{

    InputStream inStream = null;
    OutputStream outStream = null;

    try
    {
        //System.out.println("i am here no1");
        inStream= new FileInputStream(fileToMove);
        outStream=new FileOutputStream(absPathFile2);
        byte[] buffer = new byte[1024];


        int length;
        while (( length = inStream.read(buffer)) > 0)
        {

            outStream.write(buffer, 0, length);
            //System.out.println("i am here no2");

        }
      inStream.close();
        outStream.close();
        fileToMove.delete();            //to delete the original files
    //  System.out.println("i am here no3");

    }
    catch(IOException e)
    {
        //System.out.println("i am here no4");

        e.printStackTrace();
    }

}

如果它在同一个磁盘上,那么

我不知道你为什么需要3个
文件
引用,两个就足够了…但这是你的代码

例如

public static void movFile(File pathFromMove,File pathToMove,File fileToMove) throws IOException {

    File from = new File(pathFromMove + File.separator + fileToMove);
    File to = new File(pathToMove+ File.separator + fileToMove);

    if (!from.renameTo(to)) {
        throw new IOException("Failed to move " + from + " to " + to);
    }

}

您可以查看哪些使用Java 7中可用的新
路径
API来建议NIO替代方案/等效方案,请查看:,Java.NIO.file.Path,Java.NIO.file.CopyOption…@JoshM添加了链接,没有实际使用经验…仍然停留在Java 6中:(:O您似乎是1(如果将Java 8提前发布计算在内,则为2)背后的版本:P我正在使用Java 8,它很棒,你应该看看:)我想把我们的组织拖到22世纪,但我们仍然在使用公司所有者30年前创建的数据库……:'(-甚至不要让我开始了解他们试图将其冒充为客户机/服务器框架的内容……哈哈,听起来很旧。如果您的组织从未觉得有必要升级,那么它一定很稳定:Puse system(),或者您最喜欢的对您隐藏系统的库。