我正在从互联网上读取一个大文本文件到字符串中,我希望显示某种进展。通常我会使用 ProgressMonitorInputStream ,但是这个程序严格在命令行中运行,因此这不是一个选项。有没有简单的方法来获得某种百分比,剩余字节或任何其他类型的反馈?这是我的代码:
URL inUrl = new URL(*URL to be red*);
InputStream inStream=inUrl.openStream();
BufferedReader in=new BufferedReader(new InputStreamReader(inStream,Charset.forName("UTF-8")));
while(in.ready()){
string=string+in.readLine();
}
in.close();
答案 0 :(得分:0)
首先使用File.length方法获取文件大小。或者HttpConnection.getContentLength(),如果是基于Internet的资源。
在while循环中,百分比为
while(in.ready()){
string = string +in.readLine();
percentage = (string.length() / fileLength) * 100;
}
顺便说一句,使用
并不是一个好习惯string + in.readLine()
使用StringBuffer进行此连接。