Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 完成项目的百分比_Java_Multithreading_Nio_Jprogressbar - Fatal编程技术网

Java 完成项目的百分比

Java 完成项目的百分比,java,multithreading,nio,jprogressbar,Java,Multithreading,Nio,Jprogressbar,我有一个关于JavaNIO和线程的作业。我应该编写一个具有以下四个重要功能的程序:复制、剪切、重命名和删除。我为项目的每个部分上了4节课。它们都扩展了Runnable,在运行中我使用了如下代码: fc = new JFileChooser(); fc.showOpenDialog(Copy.this); File f1 = fc.getSelectedFile(); fc.showOpenDialog(Copy.this); File f2 = fc.getSelectedFile(); if(

我有一个关于JavaNIO和线程的作业。我应该编写一个具有以下四个重要功能的程序:复制、剪切、重命名和删除。我为项目的每个部分上了4节课。它们都扩展了
Runnable
,在运行中我使用了如下代码:

fc = new JFileChooser();
fc.showOpenDialog(Copy.this);
File f1 = fc.getSelectedFile();
fc.showOpenDialog(Copy.this);
File f2 = fc.getSelectedFile();
if(copyFile(f1, f2)){
    System.out.println("File Copied");
}
fc
是一个
JFileChooser
类字段,我有一个
mainFrame
,它有4个按钮,每个按钮都会启动来自每个类的威胁。我不知道我的方式,我也不知道它应该是什么样子。我看了两个关于多线程的视频,我不知道这个程序怎么会死锁,也不知道它怎么会在运行时出现问题,我最大的问题是我想在文件复制中使用
JProgressBar
,文件删除和文件剪切,我不知道如何才能知道程序中的这些级别,以使
JProgressBar
发挥最佳效果。
这就是整个项目:

要获得更新
JProgressBar
所需的值,最简单的方法是让线程监视目标文件的大小,并将其与原始文件进行比较。您可以使用
f1.length()
f2.length()
来执行此操作。通过比较这两个值,可以确定当前操作的状态,即删除、复制或截断文件大小。或者,您需要在每个函数(如
copyFile(…)
)中设置
JProgressBar
的句柄,然后您可以根据循环中的迭代更新进度条。要获得更详细的答案,我需要查看代码的其余部分。

我不确定您到底在问什么。您需要知道如何在java中启动新线程吗?如何复制文件?如何删除文件?如何截断一个文件?我的主要功能做得很好。我对JProgressBar有问题,这个程序将在不同的条件下进行测试,所以你知道可能会发生什么问题吗?你的回答对我帮助很大,谢谢,我上传了整个项目: