繁体   English   中英

文件未使用输入和输出流读取器在 Java 中复制

[英]File is not getting copied in Java using input and output stream reader

我在 Java 平台上工作。 我需要将文件从包复制到桌面的某些文件夹中。 我使用输入流和输出流类来做这件事,它在 NetBeans 中做得很好。

问题是,当我运行 JAR 文件来测试应用程序时,它没有复制文件,而是说 NULL。

       File source = new File("src/jrepo/css/bs.css");

       File dest = new File(ResultPath + "/css/bs.css");

        InputStream is = null;
        OutputStream os = null;
        try {
            is = new FileInputStream(source);
            os = new FileOutputStream(dest);
            byte[] buffer = new byte[1024];
            int length;
            while ((length = is.read(buffer)) > 0) {
                os.write(buffer, 0, length);
            }
        } finally {
            is.close();
            os.close();
        }

你的问题是

new File("src/jrepo/css/bs.css");

File(String)的构造函数采用文件的完整路径。 您正在使用相对路径。 如果您尝试从操作系统读取文件,请使用完整路径。 如果您是从 jar 文件中读取它,请改用这种方法

我找到了方法,因为我使用 JavaFX,有一个问题会停止 CSS 文件的文件复制。 为了解决这个问题,只需在 Netbeans 中更改项目的运行时设置。 右键单击项目标题→转到属性→构建→打包→取消选中二进制编码 JavaFX CSS 文件复选框,然后保存项目并重建它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM