在Windows,Mac和Linux上从位置检索文件

雅各布·特平

当前,我有一个Java应用程序,需要从目录复制文件并将其放置在桌面上。我有这种方法

public static void copyFileUsingFileStreams(File source, File dest) throws IOException {

    InputStream input = null;
    OutputStream output = null;

    try {
        input = new FileInputStream(source);
        output = new FileOutputStream(dest);
        byte[] buf = new byte[1024];
        int bytesRead;
        while ((bytesRead = input.read(buf)) > 0) { output.write(buf, 0, bytesRead); }
    } 
    finally {
        input.close();
        output.close();
    }
}

我这样称呼它。

copyFileUsingFileStreams(new File("C:/Program Files (x86)/MyProgram/App_Data/Session.db"), new File(System.getProperty("user.home") + "/Desktop/Session.db"));

在Windows上完美运行。但是,我也希望能够在Mac和Linux计算机上执行完全相同的操作(位置为/opt/myprogram/App_Data/Session.db)。如何评估运行的计算机是Windows还是Mac / Linux,以及如何相应地重组代码?

溶胶4

您可以使用System.getPropertylike获取操作系统信息

String property = System.getProperty("os.name");

此外,您可以使用Files.copy()来简化代码(如果需要更多控制,请使用StandardCopyOption)。例如

Files.copy(src, Paths.get("/opt/myprogram/App_Data/Session.db"));

这样您更新后的代码可以看起来像这样

public static void copyFileUsingFileStreams(File source, File dest) throws IOException {
    String property = System.getProperty("os.name");

    if (property.equals("Linux")) {
        dest = Paths.get("/opt/myprogram/App_Data/Session.db").toFile();
    }               
    //add code to adjust dest for other os.
    Files.copy(source.toPath(), dest.toPath());
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

您可能需要适当的加载程序才能在Windows和Webpack上的Windows上加载此文件,而在Linux和Mac OS中则不然

来自分类Dev

您可能需要适当的加载程序才能在Windows和Webpack上的Windows上加载此文件,而在Linux和Mac OS中则不然

来自分类Dev

Mac和Linux上类似Windows的Shell扩展

来自分类Dev

在Windows或Linux上挂载Mac磁盘映像(和稀疏包)

来自分类Dev

Mac 和 Windows 上用于 json 文件的当前目录

来自分类Dev

Linux和Windows c ++上的低级文件操作处理

来自分类Dev

未安装 mac OS X 的旧 mac-book 4.1 上的双引导 Linux 和 Windows

来自分类Dev

程序挂在Linux和Windows上,似乎可以在Mac上运行

来自分类Dev

在Windows上没有删除和重命名文件,但在Mac上可以使用

来自分类Dev

如何在运行时检索在Windows上使用.rc文件或在Mac上使用.icns文件设置的应用程序图标?

来自分类Dev

Jar文件在Mac和Linux上的工作原理有所不同

来自分类Dev

使用LibGit2Sharp构建项目,使其在.NET和Mono(Windows,Linux,Mac)上运行

来自分类Dev

Qt GUI在Linux,Mac和Windows上看起来有所不同

来自分类Dev

Mac、Windows 和 Linux 上的 Java 桌面应用程序安装程序

来自分类Dev

python exifread在linux和mac上对图像进行排序,在windows上不起作用

来自分类Dev

Windows上OpenSSH配置文件的位置

来自分类Dev

Windows 文件系统上的 TPK 位置

来自分类Dev

在Windows和Mac上开发时(如何修改文件),如何在git上管理Nuget仓库配置文件?

来自分类Dev

重新格式化USB以支持Windows,Linux和Mac中的大文件

来自分类Dev

Windows / Linux / Mac的系统文件分区

来自分类Dev

在 vmware 上在 windows 7 和 mac os x 之间共享文件夹

来自分类Dev

与GNU / Linux和Mac兼容的文件系统

来自分类Dev

Mac和Windows上的Sublime Text项目

来自分类Dev

Mac和Windows上的Sublime Text项目

来自分类Dev

mac 和 windows 上的 CSS 动画

来自分类Dev

Mac Sierra v 10.12.2上的.htaccess文件位置在哪里?

来自分类Dev

将图像保存并检索到Windows Phone 8.1上的文件

来自分类Dev

如何在Google Glass上保存和检索文件?

来自分类Dev

在Apple Watch上检索位置

Related 相关文章

  1. 1

    您可能需要适当的加载程序才能在Windows和Webpack上的Windows上加载此文件,而在Linux和Mac OS中则不然

  2. 2

    您可能需要适当的加载程序才能在Windows和Webpack上的Windows上加载此文件,而在Linux和Mac OS中则不然

  3. 3

    Mac和Linux上类似Windows的Shell扩展

  4. 4

    在Windows或Linux上挂载Mac磁盘映像(和稀疏包)

  5. 5

    Mac 和 Windows 上用于 json 文件的当前目录

  6. 6

    Linux和Windows c ++上的低级文件操作处理

  7. 7

    未安装 mac OS X 的旧 mac-book 4.1 上的双引导 Linux 和 Windows

  8. 8

    程序挂在Linux和Windows上,似乎可以在Mac上运行

  9. 9

    在Windows上没有删除和重命名文件,但在Mac上可以使用

  10. 10

    如何在运行时检索在Windows上使用.rc文件或在Mac上使用.icns文件设置的应用程序图标?

  11. 11

    Jar文件在Mac和Linux上的工作原理有所不同

  12. 12

    使用LibGit2Sharp构建项目,使其在.NET和Mono(Windows,Linux,Mac)上运行

  13. 13

    Qt GUI在Linux,Mac和Windows上看起来有所不同

  14. 14

    Mac、Windows 和 Linux 上的 Java 桌面应用程序安装程序

  15. 15

    python exifread在linux和mac上对图像进行排序,在windows上不起作用

  16. 16

    Windows上OpenSSH配置文件的位置

  17. 17

    Windows 文件系统上的 TPK 位置

  18. 18

    在Windows和Mac上开发时(如何修改文件),如何在git上管理Nuget仓库配置文件?

  19. 19

    重新格式化USB以支持Windows,Linux和Mac中的大文件

  20. 20

    Windows / Linux / Mac的系统文件分区

  21. 21

    在 vmware 上在 windows 7 和 mac os x 之间共享文件夹

  22. 22

    与GNU / Linux和Mac兼容的文件系统

  23. 23

    Mac和Windows上的Sublime Text项目

  24. 24

    Mac和Windows上的Sublime Text项目

  25. 25

    mac 和 windows 上的 CSS 动画

  26. 26

    Mac Sierra v 10.12.2上的.htaccess文件位置在哪里?

  27. 27

    将图像保存并检索到Windows Phone 8.1上的文件

  28. 28

    如何在Google Glass上保存和检索文件?

  29. 29

    在Apple Watch上检索位置

热门标签

归档