Java 如何输出进度指示器而不是实际的文件内容
我有以下方法读取文本文件:Java 如何输出进度指示器而不是实际的文件内容,java,Java,我有以下方法读取文本文件: public static void readFile(String path) { BufferedReader br = null; try { String sCurrentLine; br = new BufferedReader(new FileReader(path)); while ((sCurrentLine = br.readLine()) != null) {
public static void readFile(String path) {
BufferedReader br = null;
try {
String sCurrentLine;
br = new BufferedReader(new FileReader(path));
while ((sCurrentLine = br.readLine()) != null) {
System.out.println(sCurrentLine); // Progress indicator!
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
我的文件非常大~700MB,我希望能够打印进度指标或百分比,而不是在控制台上打印实际文件,这看起来确实不太好。大概是这样的:
========================================================== 100%
任何暗示都将不胜感激 您必须随进度更改
系统.out.println
。但要做到这一点,你需要做几件事
文件
对象获取文件大小,即
文件f=新文件(路径);
double fileSize=f.length();
br=新的BufferedReader(新的文件读取器(路径))while
循环。每次你读字符串的时候,你都必须这样做
int percentRead=0
而((sCurrentLine=br.readLine())!=null){
double bytesRead+=(sCurrentLine.getBytes().length);
int newPercentRead=(int)((字节读取/文件大小)*100);
while(percentRead您必须随着进度更改系统.out.println
。但要做到这一点,您需要做几件事
使用文件
对象获取文件大小,即
文件f=新文件(路径);
double fileSize=f.length();
br=新的BufferedReader(新的文件读取器(路径))
现在,在while
循环中。每次读取字符串时,都必须执行以下操作
int percentRead=0
而((sCurrentLine=br.readLine())!=null){
double bytesRead+=(sCurrentLine.getBytes().length);
int newPercentRead=(int)((字节读取/文件大小)*100);
也许能帮上忙?也许能帮上忙?谢谢你…我会试试的谢谢你…我会试试的
double bytesRead += (sCurrentLine.getBytes().length);
int newPercentRead = (int)((bytesRead/fileSize) * 100);
while (percentRead <= newPercentRead){
System.out.print("#");
percentRead++;
}