//未编译成功,有错
package file;
import java.io.*;
public class filelist{
public static void main(String [] args)throws IOException
{
int sum=0,current=0;
//设置输入流
BufferedReader std=new BufferedReader(new InputStreamReader(System.in));
//决定文件名
System.out.println("please input filename:");
String filename=std.readLine();
//设置文件流
BufferedReader fileIn=new BufferedReader(new FileReader(filename));
//按行进行处理
String currentline=fileIn.readLine();
if(currentline==null)
{
System.out.println("文件是不是空的哟");
}
else
{ System.out.println("文件不是空的,嘿嘿");
System.out.println("文件中的数据是:");
do
{
// System.out.println(currentline);
int read=Integer.parseInt(currentline);
System.out.print(read+" ");
sum+=read;
// current++;
++current;
currentline=fileIn.readLine();
}
while(currentline!=null);
fileIn.close(); //关闭文件输入流
System.out.println();
System.out.println("它们的和为:");
System.out.println(sum);
System.out.println("它们的个数为:");
System.out.println(current);
float avg=sum/current;
System.out.println("它们的平均数为:");
System.out.println(avg);
}
}
}
结果是:
please input filename:
li1.txt
文件不是空的,嘿嘿
文件中的数据是:
1 2 3 4 5 6 7 8 9 java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:489)
at java.lang.Integer.parseInt(Integer.java:518)
at file.filelist.main(filelist.java:27)
Exception in thread "main"
Process completed.
我给的文件是:
name:lif1.txt
1
2
3
4
5
6
package file;
import java.io.*;
public class filelist{
public static void main(String [] args)throws IOException
{
int sum=0,current=0;
//设置输入流
BufferedReader std=new BufferedReader(new InputStreamReader(System.in));
//决定文件名
System.out.println("please input filename:");
String filename=std.readLine();
//设置文件流
BufferedReader fileIn=new BufferedReader(new FileReader(filename));
//按行进行处理
String currentline=fileIn.readLine();
if(currentline==null)
{
System.out.println("文件是不是空的哟");
}
else
{ System.out.println("文件不是空的,嘿嘿");
System.out.println("文件中的数据是:");
do
{
// System.out.println(currentline);
int read=Integer.parseInt(currentline);
System.out.print(read+" ");
sum+=read;
// current++;
++current;
currentline=fileIn.readLine();
}
while(currentline!=null);
fileIn.close(); //关闭文件输入流
System.out.println();
System.out.println("它们的和为:");
System.out.println(sum);
System.out.println("它们的个数为:");
System.out.println(current);
float avg=sum/current;
System.out.println("它们的平均数为:");
System.out.println(avg);
}
}
}
结果是:
please input filename:
li1.txt
文件不是空的,嘿嘿
文件中的数据是:
1 2 3 4 5 6 7 8 9 java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:489)
at java.lang.Integer.parseInt(Integer.java:518)
at file.filelist.main(filelist.java:27)
Exception in thread "main"
Process completed.
我给的文件是:
name:lif1.txt
1
2
3
4
5
6
我用的jcreator,你用的什么
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:489)
at java.lang.Integer.parseInt(Integer.java:518)
这是什么意思?
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:489)
at java.lang.Integer.parseInt(Integer.java:518)
意思就是说程序在将一个字符串转换为数字的时候发生了错误,而这个字符串就是""
它会抛出和你文件抛出的相同的异常.
应该是在你文件的最后出现了空行,也就是只有回车,没有内容.