展开全部
先来说你的问题,,你要实现写入文件是排序的结果,,那么你就应该先排序再写到文件,,而不是32313133353236313431303231363533e59b9ee7ad9431333332643265你现在这样接受一个写一个,,再说为什么文件里面是乱码,是因为你每次写入文件的时候写了一个字符‘0’,这个写到文件中打开后并不是你想看到的字符串“0”,所以打开是乱码,
帮你简单修改了代码publicstaticvoidmain(Stringargs[])
{
Scannerscanner=newScanner(System.in);
try
{
intsum=0;//总分
RandomAccessFilef=newRandomAccessFile("data.txt","rw");
System.out.print("请输入学生的个数:");
intn=scanner.nextInt();
ints[]=newint[n];
for(inti=0;i
{
System.out.println("请输入第"+(i+1)+"个学生的成绩");
s[i]=scanner.nextInt();
sum+=s[i];
}
System.out.println("总分:"+sum);
Arrays.sort(s);
f.writeBytes(Arrays.toString(s));
f.close();
}
catch(IOExceptione)
{
System.err.println(e);
e.printStackTrace();
}
}
随机文件(RandomAccessFile)读写的一些方法,如writeInt writeChar 等,这些方法写到文件的数据都是二进制的,比如你writeInt(25),写到文件后打开是不会看到25的,这点一定要注意