如何更新进度条的进度以显示复制文件的进度

2024-01-24

我想要一个进度条来指示正在复制的文件
如何通过组合以下代码行来更新进度条以显示复制文件的进度?

这是我的进度条代码。

@FXML
private void startbtnaction(ActionEvent event) {
    startbtn.setDisable(true);
    progressbar.setProgress(0);
    txt.setText("");
    cancelbtn.setDisable(false);
    copyworker = createWorker(numFiles);

    progressbar.progressProperty().unbind();
    progressbar.progressProperty().bind(copyworker.progressProperty());
    progressindicator.progressProperty().unbind();
    progressindicator.progressProperty().bind(copyworker.progressProperty());

         copyworker.messageProperty().addListener(new ChangeListener<String>(){

                @Override
                public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
                    txt.setText(newValue+"\n");
                }  
            });
        new Thread(copyworker).start();

}
 private Task createWorker(int numFiles) {
   return new Task(){

       @Override
       protected Object call() throws Exception {
           for (int i = 0; i < numFiles; i++) {
               long elapsedtime=System.currentTimeMillis();
               copyFile("somefile", "some dest file");
               elapsedtime=System.currentTimeMillis()-elapsedtime;
               String status=elapsedtime+"milliseconds";

               updateMessage(status);
               updateProgress(i+1, numFiles);

           }
           return true;

       }

   };
}

 public  void copyFile(String src,String dest)throws InterruptedException{
     Random rnd=new Random(System.currentTimeMillis());
    long millis=rnd.nextInt(1000);
    Thread.sleep(millis);

 }

/// //////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////

这是我的文件复制代码..

InputStream istream = RemoteInputStreamClient.wrap(sendappcontent);
    BufferedInputStream bis = new BufferedInputStream(istream);

    //downloaded file...
    File file = new File("D:\\SERVER\\Temp\\" + contentfile.getName());//server saving point

    if (!file.exists()) {
        file.createNewFile();
    }

    FileOutputStream fileOutputStream = new FileOutputStream(file);
    FileChannel channel = fileOutputStream.getChannel();


    byte b[] = new byte[1024];
    long startTime = System.currentTimeMillis();
    while (bis.available() > 0) {
        bis.read(b);
        System.out.println("B");
        System.out.println((System.currentTimeMillis() - startTime) / 1000);
        ByteBuffer buffer = ByteBuffer.wrap(b);
        channel.write(buffer);
    }

    bis.close();
    fileOutputStream.flush();
    channel.close();
    fileOutputStream.close();

    System.out.println("done");

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更新进度条的进度以显示复制文件的进度 的相关文章

  • 替换文件中的单词

    我是 Python 编程新手 我有一个 txt 文件 它看起来像 0 工资 14000 0 奖金 5000 0 礼物 6000 我想将每行中的第一个 0 值替换为 1 我怎样才能做到这一点 任何人都可以帮助我 带有示例代码 提前致谢 尼米利
  • 在 Julia 中保存和检索字典的正确方法是什么?

    我已经看到 Julia 充分解释了 MAT 文件 这些文件中的结构可以毫无问题地作为字典读取 现在我创建了自己的字典 其结构如下 String String gt Int Int Int 在每个条目上 我可以保存它writedlm它产生了一
  • Hibernate + SQLite 不创建数据库

    这是我的问题 我有一个使用 JavaFX Hibernate SQLite 的桌面应用程序 这是我的模型 Entity Table name usuario public class Usuario implements AbstractM
  • javafx组合框下拉菜单从屏幕边缘跳出

    我有最新版本的 java 8 40 和 javaFX 我有一个包含 10 个项目的复选框 我编译并运行该程序 如果我将程序窗口移至监视器屏幕的底部 下拉列表将从监视器屏幕中消失 无法将项目点击出屏幕 相反 如果我尝试使用场景生成器 2 0
  • 从文本文件中删除特定字符

    我对 Python 和编码都很陌生 我当时正在做一个小项目 但遇到了一个问题 44 1 6 23 2 7 49 2 3 53 2 1 68 1 6 71 2 7 我只需要从每行中删除第三个和第六个字符 或者更具体地说 从整个文件中删除 字符
  • 如何将图片保存到文件中?

    我正在尝试使用标准意图来拍照 然后允许批准或重新拍摄 然后我想将图片保存到文件中 这是我正在使用的意图 Intent intent new Intent android provider MediaStore ACTION IMAGE CA
  • python 打开相对文件夹中所有以.txt结尾的文件

    我需要打开并解析文件夹中的所有文件 但我必须使用相对路径 类似于 input files 我知道在 JavaScript 中你可以使用 path 库来解决这个问题 我怎样才能在Python中做到这一点 这样您就可以获得路径中的文件列表作为列
  • 在JAVA中将数据写入.txt文件?

    我想知道是否是在JAVA中将计算的数据写入文本文件 我的 JAVA 代码是一个基于 GUI 的 gpa 计算器 我只想添加一个 JButton 和 ActionListener 它将类名 GPA 点和计算出的 GPA 写入 txt 文件 这
  • 文件写入器覆盖文件而不是附加到末尾时出现问题

    好的 我在将多行写入文本文件时遇到一些问题 程序运行 但不会每次都使用新行 当我希望它运行 4 次时 文本文件应如下所示 a b c d 相反 它看起来像 d 谁知道如何解决这个问题 所有导入均正确导入 来源 已稍加编辑 假设一切都已正确定
  • f.read 为空

    我在解释器中完成这一切 loc1 council council1 file1 open loc1 r 此时我可以执行 file1 read 并将文件的内容作为字符串打印到标准输出 但如果我添加这个 string1 file1 read 字
  • Gluon 移动 iOS 音频播放器

    由于 JavaFx Media 尚未移植到移动平台 任何人都可以帮助我使用本机 iOS APi 来播放声音 mp3 文件 该文件将存储在我的 gluon 项目的 main resources 文件夹中 在 Android 上 我们可以轻松地
  • 如何从表列javafx中删除行

    这些是我的表格列 Course and 描述 如果单击一行 该行变为 活动 突出显示 并且他们按下Delete按钮它应该删除该行 我该怎么做 我的代码Course列 以及我要添加什么事件侦听器到我的delete按钮 SuppressWarn
  • 来自 csv.read 模拟文件的 rspec 测试结果

    我正在使用 ruby 1 9 并且正在尝试执行 BDD 我的第一个测试 应该在 csv 中读取 有效 但第二个测试 我需要模拟文件对象 却不起作用 这是我的型号规格 require spec helper describe Person d
  • FXML 文件中的 getHostServices().showDocument()

    有没有简单的方法可以将 getHostServices showDocument 命令放入 toHomepage 方法中 而不是执行一行又一行的代码 这样代码应该看起来干净简单 package sample import javafx ap
  • 服务器端文件验证在 Yii.2.0 中不起作用

    Is the FileValidatorYii2 中的类只支持客户端验证 我使用代码编写了文件上传系统 在模型中 public function rules return allAllowedFileType safe allAllowed
  • 将文件拆分为块

    我正在尝试分割格式为以下的文件 some garbage lines target G0 S0 type xy 0 108847E 02 0 489034E 04 0 108711E 02 0 491023E 04 0 108574E 02
  • 如何获取JavaFX的版本号?

    如何在运行时找出我正在使用哪个版本的 JavaFX 简单的方法之一就是简单地阅读javafx properties文件位于您的 JAVA HOME jre lib目录 我现在安装了 Java 1 7 u9 与之捆绑的 JavaFX 是 v2
  • 读取 .pdb 文件

    我有很多 pdb 格式的文件 其中一些已下载 但到目前为止我无法使用或读取其中的内容 因此我正在寻找如何从 MS Windows XP 读取和查看 pdb 文件格式 有谁知道怎么打开吗 如果您将 PDB 视为调试器使用的 程序数据库 PDB
  • C - 计算文件中的单词、字符和行数。字符数

    我必须用 C 编写一段代码 输出给定文件中的字符数 行数和单词数 任务看起来很简单 但我现在真的不确定出了什么问题 所以 这是代码 include
  • Django 1.6 的静态文件

    我花了一整天但没有任何作用 我在这里看到了至少 20 篇关于同一主题的帖子 它们各不相同 有不同的建议 但没有一个对我有用 使用 Python 2 7 运行 Django 1 6 我正在尝试从 django 教程加载民意调查应用程序的 cs

随机推荐