簡體   English   中英

Java6中Java.nio.file.Path的替代品,用於OS文件系統靈活性

[英]Alternative to java.nio.file.Path in Java6 for OS File system Flexibility

我正在將代碼反向移植到Java SE6,並且希望對我的代碼進行OS不可知文件檢索。 我已經在SE7上有一個很好的代碼。

這就是我在Java SE7上使用它的方式。

      protected Properties getPropertiesFromFileSystemPath(final String filename) throws IOException {
        if (filename != null) {
          Path p = FileSystems.getDefault().getPath("");
          final InputStream inputStream = new FileInputStream(p.resolve(filename).toFile());
          return getProperties(inputStream);
        } else {
          throw new IOException();
        }
      }

使用此代碼,我可以指向一個文件foo\\bar\\file.txtfoo/bar/file.txt並將找到。

有沒有像在Java SE6中使用java.nio.file.Path一樣容易的替代方法?

如果您只收到一個文件,那么使用此Path concat函數就太過分了。

您可以僅使用new FileInputStream(filename) 即使將它們混合使用,它也可以在/\\上正常工作。

而且,關閉打開的輸入流非常重要。 在java7中,可以使用autocloseable函數:

try (InputStream is = new FileInputStream(filename)) {
    return getProperties(is);
}

在Java6中,您需要自己關閉它:

InputStream is = new FileInputStream(filename);
try {
    return getProperties(is);
} finally {
    if (is != null) is.close();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM