にバッチファイルの処理を変換するには:私が何をしようとしています何は、どのように私はコードの一部、以下のいる割合
File file = new File("//path/to/BatchFile");
long fileLength = 0 ;
if(file.exists()){
fileLength = file.length();
}
Process process = Runtime.getRuntime().exec("cmd /c " + "//path/to/batchfile");
InputStream inputStream = process.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
String s;
long bytesRead=0;
while ((s = br.readLine()) != null) {
bytesRead = bytesRead + s.getBytes().length + 2; // forget about +2
int progress = (int) ((bytesRead/ fileLenth)*100);
System.out.println("Progress : "+ progress);
}
は、バッチファイルを実行すると、プログレスバーのパーセンテージを計算するためにBufferedReaderのためにそれを変換しています。しかし、私の割合は100を超えています。
私が間違っていることを修正したり、「プロセス」のパーツをパーセンテージに変換する方法を教えてください。
「+ 2」部分はどういう意味ですか? – Berger
私は彼がキャリッジリターンを意味すると思う – Andremoniy
なぜバイトはダブルですか?それは整数値ではないはずです(intまたはおそらくlong) – Matt