Java文件操作查询

Java文件操作查询,java,io,java-io,Java,Io,Java Io,我正在努力解决以下问题 我有两个目录。比如说/x和/y 我希望所有文件读取操作都发生在/x中,所有写入操作都发生在/y中。比方说,如果java程序试图使用文件API读取文件/a/b.xml,它应该直接转到/x并搜索/x/a/b/c。类似地,如果程序试图写入/a/b.xml,它应该直接写入/y 可以用Java实现吗 public File getFileToReadFrom(String suffix) { return new File("/x" + suffix); } public

我正在努力解决以下问题

  • 我有两个目录。比如说/x和/y

  • 我希望所有文件读取操作都发生在/x中,所有写入操作都发生在/y中。比方说,如果java程序试图使用文件API读取文件/a/b.xml,它应该直接转到/x并搜索/x/a/b/c。类似地,如果程序试图写入/a/b.xml,它应该直接写入/y

  • 可以用Java实现吗

    public File getFileToReadFrom(String suffix) {
        return new File("/x" + suffix);
    }
    
    public File getFileToWriteTo(String suffix) {
        return new File("/y" + suffix);
    }
    
    这些方法还可以返回一个InputStream和一个OutputStream,或者一个Reader和一个Writer,具体取决于您想要读/写的内容


    如果您想自动将对任何文件的所有现有写入转到
    /x
    ,并将对任何文件的所有现有读取转到
    /y
    ,那么不,这是不可能的。

    实际上,我想要的是某种“拦截器”,它可以在程序不知道的情况下重定向读写操作。每个JVM可以有一个这样的拦截器吗?我们可以使用自定义FileSystemProvider吗?不,这是不可能的。因此,请相应地构造文件名。到底是什么问题?注意:我想不起与NIO的联系。