java - 为什么这段代码在运行时不打印任何内容?
问题描述
我一直坚持这一点,我一生都无法弄清楚为什么当代码运行时没有显示,我已经测试过,如果我删除文件,它将显示错误消息。
package binaryfile;
import java.io.EOFException;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;
public class ReadBinaryFile {
public static void main(String[] args) {
String inStr="";
int countInt = 0, countDouble = 0;
int sumInt = 0, minInt = 0, maxInt = 0, numInt;
double sumDouble = 0 , minDouble = 0, maxDouble = 0, numDouble;
ObjectInputStream myObjStream = null;
FileInputStream fin = null;
try {
fin = new FileInputStream("data.dat");
myObjStream = new ObjectInputStream(fin);
// loop to read the first 16 characters
for(int i=0;i<16;i++)
inStr += myObjStream.readChar();
// read an int and an double till the end of file
numInt = myObjStream.readInt();
countInt++;
sumInt += numInt;
if(countInt == 1)
{
minInt = numInt;
maxInt = numInt;
}else
{
if(maxInt < numInt)
maxInt = numInt;
if(minInt > numInt)
minInt = numInt;
}
numDouble = myObjStream.readDouble();
countDouble++;
sumDouble += numDouble;
if(countDouble == 1)
{
minDouble = numDouble;
maxDouble = numDouble;
}else
{
if(maxDouble < numDouble)
maxDouble = numDouble;
if(minDouble > numDouble)
minDouble = numDouble;
}
} catch (FileNotFoundException e) {
System.out.println("File data.dat not found");
}catch(EOFException e)
{
try {
// close the file
fin.close();
myObjStream.close();
// Display the results
System.out.println("Characters : "+inStr);
System.out.println("Total number of integers : "+countInt);
System.out.println("Total number of doubles : "+countDouble);
System.out.println("Sum of all integers : "+sumInt);
System.out.println("Sum of all doubles : "+sumDouble);
if(countInt > 0)
{
System.out.println("Minimum Integer : "+minInt);
System.out.println("Maximum Integer : "+maxInt);
System.out.println("Average Integer : "+(sumInt/countInt));
}
if(countDouble > 0)
{
System.out.println("Minimum Double : "+minDouble);
System.out.println("Maximum Double : "+maxDouble);
System.out.println("Average Double : "+(sumDouble/countDouble));
}
} catch (IOException e1) {
System.out.println(e1.getMessage());
}
}catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
解决方案
推荐阅读
- python - 使用 python 在多个设备上流式传输视频
- c# - MongoDB 中的报告:查询中参数的单独组合
- php - 使用 Chart.js 和 PHP 从 MySQL 绘制数据集
- git - 强制推送后变基
- scala - 将切片附加到结束 scala
- c++ - 从非常量函数返回引用值返回常量引用
- android - 如何为客户保留较旧的应用程序,而不是为 iOS 和 Android 的企业保留
- javascript - 在html中更改边界框的形状
- c# - DataGridView 是否区分列名中的大小写?
- c++ - 没有匹配函数调用 'std::vector >::push_back(char&)'