第一个程序是输出一个数组
import java.io.*;
interface MatrixData{
double[][] data={{3,2,1},{5,6,9},{8,9,6}};
}
public class WriteMatrix2 implements MatrixData
{
public static void main(String args[]){
int row=data.length;
int col =data[0].length;
int i,j;
for (i=0;i<row ;i++ )
{for (j=0;j<col ;j++ )
{
System.out.println("data["+i+"]["+j+"]="+data[i][j]);
}
}
try
{
DataOutputStream out=new DataOutputStream(new FileOutputStream("xuyong.txt"));
out.writeInt(row);
out.writeInt(col);
for(i=0;i<row;i++){
for(j=0;j<col;j++){
out.writeDouble(data[i][j]);
}
}
}
catch (IOException e)
{
System.out.println("error");
}
}

};
然后用一个另一个程序把刚才写入的东西读出来
程序为import java.io.*;
public class ReadMatrix2
{
static double[][] data;
public static void main(String args[]){
try
{
DataInputStream in =new DataInputStream (new FileInputStream("xuyong.txt"));
int row =in.readInt();
System.out.println("row="+row);
int col=in.readInt();
System.out.println("col="+col);
data=new double[row][col];
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
data[i][j]=in.readDouble();
System.out.println("data["+i+"]["+j+"]="+data[i][j]);
}
}
}
catch (IOException e)
{
System.out.println("error!");
}
}
};
我想问一下第3二个程序的for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
data[i][j]=in.readDouble();这条语句是如何读一下数字的?
就是说我这里没有把文件指针移动
为什么会写入一个数字
是不是它自动移动一个字节啊 ?
谁能告诉我吗 ?
谢谢大家了