java 文件读写问题,求解释
下面的代码是实现产生几个1--100的随机数写入响应的文件中,再从文件中读取数据显示到屏幕内,问题是在写入一个txt文件后,手动打开文件,里面的内容为什么是乱码,求解释啊...
下面的代码是实现产生几个1--100的随机数写入响应的文件中,再从文件中读取数据显示到屏幕内,问题是在写入一个txt文件后,手动打开文件,里面的内容为什么是乱码,求解释啊!!!
import java.io.*;
public class RandomAcc {
private int d;
public void creat(RandomAccessFile rwf)
{
int i,j,k,t;
try
{
rwf.seek(0);
for(i=1;i<10;i++)
{
d=(int)(Math.random()*100)+1;
if(i==1)
rwf.writeInt(d);
else{
if(d>rwf.readInt())
{//新产生的数据大于文件中的最后一个数据
rwf.seek((i-1)*4);
rwf.writeInt(d);}
else
{
for(j=1;j<=i-1;j++)//此循环从文件头开始,寻找新数据插入的位置
{
rwf.seek((j-1)*4);
if(d<rwf.readInt())break;
}
for(k=i-1;k>j;k--)
{
rwf.seek((k-1)*4);
t=rwf.readInt();
rwf.seek(k*4);
rwf.writeInt(t);}
rwf.seek((j-1)*4);
rwf.writeInt(d);
}
}
rwf.seek((i-1)*4);
}
}
catch(EOFException e){}
catch(IOException e){}
}
public void showData(RandomAccessFile rwf)
{
int i=0,d=0;
try{
rwf.seek(i*4);
while(true)
{
d=rwf.readInt();
System.out.print(d+",");
i++;
rwf.seek(i*4);
}
}
catch(EOFException e){}
catch(IOException e){}
}
public static void main(String args[])
{
try{
RandomAcc ra=new RandomAcc();
RandomAccessFile rwf=new RandomAccessFile("C:\\Users\\PANJINTIAN\\Desktop\\me.txt","rw");
ra.creat(rwf);
ra.showData(rwf);
rwf.close();
}
catch(EOFException e){}
catch(IOException e){}
}
} 展开
import java.io.*;
public class RandomAcc {
private int d;
public void creat(RandomAccessFile rwf)
{
int i,j,k,t;
try
{
rwf.seek(0);
for(i=1;i<10;i++)
{
d=(int)(Math.random()*100)+1;
if(i==1)
rwf.writeInt(d);
else{
if(d>rwf.readInt())
{//新产生的数据大于文件中的最后一个数据
rwf.seek((i-1)*4);
rwf.writeInt(d);}
else
{
for(j=1;j<=i-1;j++)//此循环从文件头开始,寻找新数据插入的位置
{
rwf.seek((j-1)*4);
if(d<rwf.readInt())break;
}
for(k=i-1;k>j;k--)
{
rwf.seek((k-1)*4);
t=rwf.readInt();
rwf.seek(k*4);
rwf.writeInt(t);}
rwf.seek((j-1)*4);
rwf.writeInt(d);
}
}
rwf.seek((i-1)*4);
}
}
catch(EOFException e){}
catch(IOException e){}
}
public void showData(RandomAccessFile rwf)
{
int i=0,d=0;
try{
rwf.seek(i*4);
while(true)
{
d=rwf.readInt();
System.out.print(d+",");
i++;
rwf.seek(i*4);
}
}
catch(EOFException e){}
catch(IOException e){}
}
public static void main(String args[])
{
try{
RandomAcc ra=new RandomAcc();
RandomAccessFile rwf=new RandomAccessFile("C:\\Users\\PANJINTIAN\\Desktop\\me.txt","rw");
ra.creat(rwf);
ra.showData(rwf);
rwf.close();
}
catch(EOFException e){}
catch(IOException e){}
}
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询