一个简单的Java文件读取的进度条

60次阅读
没有评论

共计 1164 个字符,预计需要花费 3 分钟才能阅读完成。

以下是一个简单的 Java 文件读取的进度条示例:

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class FileProgressBar {public static void main(String[] args) {
String filePath = "path_to_your_file";
try (InputStream inputStream = new FileInputStream(filePath)) {long fileSize = inputStream.available();
long bytesRead = 0;
byte[] buffer = new byte[1024];
int read;
while ((read = inputStream.read(buffer)) != -1) {
bytesRead += read;
printProgressBar(bytesRead, fileSize);
}
System.out.println("\nFile read successfully!");
} catch (IOException e) {e.printStackTrace();
}
}
private static void printProgressBar(long bytesRead, long fileSize) {int progress = (int) (bytesRead * 100 / fileSize);
String progressBar = "[";
int barWidth = 50;
int filledWidth = (int) (barWidth * progress / 100.0);
for (int i = 0; i < barWidth; i++) {if (i < filledWidth) {progressBar += "=";} else {progressBar += " ";}
}
progressBar += "] " + progress + "%";
System.out.print("\r" + progressBar);
}
}

在上面的示例中,我们使用 FileInputStream 来读取文件,并使用 InputStream.available() 方法获取文件的大小。然后,在每次读取 buffer 时,我们更新已读取的字节数,并通过 printProgressBar 方法打印进度条。
printProgressBar方法使用 \r 来在控制台上覆盖上一行的输出,以实现动态更新进度条的效果。进度条的长度为 50 个字符,根据已读取的字节数和文件大小的比例计算填充的宽度,并将进度以百分比形式显示。
注意:在使用这个示例之前,你需要将 path_to_your_file 替换为你要读取的文件的路径。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-21发表,共计1164字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)