在操作I/O流的时候发生了一些错误,求大家帮帮忙
先给上源代码
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.DataOutputStream;
import java.io.DataInputStream;
public class J_Read {
public static void main(String[] args)
{
// TODO Auto-generated method stub
int sum=0,average=0;
int []a=new int[5];
try
{
FileOutputStream grade=new FileOutputStream("data.txt");
DataOutputStream dout=new DataOutputStream(grade);
for(int i=0;i<5;i++)
dout.write((int)(Math.random()*100)+20 );
dout.close();
FileInputStream gradeIn=new FileInputStream("data.txt");
DataInputStream fin=new DataInputStream(gradeIn);
for(int j=0;j<5;j++)
sum+=fin.readInt();
average=sum/5;
for(int i=0;i<5;i++)
a[i]=fin.readInt();
for(int i=0;i<5;i++)
for(int j=0;j<5;j++)
{
if(a[i]>a[j])
{
int t=a[j];
a[j]=a[i];
a[i]=t;
}
}
fin.close();
}
catch(Exception e)
{
System.out.println("发生异常"+e);
e.printStackTrace();
}
System.out.println("这5个学生的平均成绩为: "+average);
System.out.print("这5个学生的成绩为: ");
for(int i=0;i<5;i++)
System.out.print(a[i]+" ");
}
}
//本代码的目的:编写一个程序,要求输入5个学生的成绩,并且保存到文件“data.txt"中,求解并输出其平均数,然后读取文件,把成绩从小到大输出
但是运行的时候却发生了错误,写进文件里面的只是一个乱码。
错误信息如下:
发生异常java.io.EOFException
这5个学生的平均成绩为: 0
这5个学生的成绩为: 0 0 0 0 0 java.io.EOFException
at java.io.DataInputStream.readInt(DataInputStream.java:375)
at J_Read.main(J_Read.java:22)
求解,代码较长,辛苦各位大牛了
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.DataOutputStream;
import java.io.DataInputStream;
public class J_Read {
public static void main(String[] args)
{
// TODO Auto-generated method stub
int sum=0,average=0;
int []a=new int[5];
try
{
FileOutputStream grade=new FileOutputStream("data.txt");
DataOutputStream dout=new DataOutputStream(grade);
for(int i=0;i<5;i++)
dout.write((int)(Math.random()*100)+20 );
dout.close();
FileInputStream gradeIn=new FileInputStream("data.txt");
DataInputStream fin=new DataInputStream(gradeIn);
for(int j=0;j<5;j++)
sum+=fin.readInt();
average=sum/5;
for(int i=0;i<5;i++)
a[i]=fin.readInt();
for(int i=0;i<5;i++)
for(int j=0;j<5;j++)
{
if(a[i]>a[j])
{
int t=a[j];
a[j]=a[i];
a[i]=t;
}
}
fin.close();
}
catch(Exception e)
{
System.out.println("发生异常"+e);
e.printStackTrace();
}
System.out.println("这5个学生的平均成绩为: "+average);
System.out.print("这5个学生的成绩为: ");
for(int i=0;i<5;i++)
System.out.print(a[i]+" ");
}
}
//本代码的目的:编写一个程序,要求输入5个学生的成绩,并且保存到文件“data.txt"中,求解并输出其平均数,然后读取文件,把成绩从小到大输出
但是运行的时候却发生了错误,写进文件里面的只是一个乱码。
错误信息如下:
发生异常java.io.EOFException
这5个学生的平均成绩为: 0
这5个学生的成绩为: 0 0 0 0 0 java.io.EOFException
at java.io.DataInputStream.readInt(DataInputStream.java:375)
at J_Read.main(J_Read.java:22)
求解,代码较长,辛苦各位大牛了
...全文
相关推荐
由注册表引起的 I/O 操作发生了不可恢复的错误修复方法
### 由注册表引起的 I/O 操作发生了不可恢复的错误修复方法#### 问题概述在Windows Server 2003系统中,部分用户遇到一个常见的问题:**由注册表引起的 I/O 操作发生了不可恢复的错误
出现I/O错误,无法访问设备以及无法格式化
"Sigmatel方案的MP3出现I/O错误无法访问设备以及无法格式化的修复方法"在这篇文章中,我们将讨论 Sigmatel 方案的 MP3 出现 I/O 错误,无法访问设备以及无法格式化的修复方法。
实验七 C++的I/O流(验证性)
C++的I/O流实验报告C++的I/O流是计算机编程中一个非常重要的概念,它涉及到输入/输出操作的各种方式和方法。在本实验报告中,我们将对C++的I/O流进行详细的介绍和实验。一、实验目的和要求1.
Java I/O流通讯录
学习这个项目可以深入理解Java I/O流的使用,包括文件操作、数据序列化、文本处理等方面。通过实践,还可以了解到如何处理异常、如何进行文件操作的错误检查等实际开发中的技巧。
关于I/O流读写文件
I/O流读写文件I/O流是Java编程语言中的一种基本概念,用于处理输入输出数据的功能。在Java中,I/O流是通过流的概念来实现的,流是一种抽象表示,用于表示输入设备或输出设备。


Java SE
