import java.io.*;
class Point
{
private int x;
private int y;
public Point(int x,int y) /////构造函数
{
this.x=x;this.y=y;
}
public String toString()
{
return "["+x+","+y+"]"; /////以该格式输出坐标
}
public void writePoint(RandomAccessFile f)throws IOException
{ ////////在当前位置写点(x,y)对象
f.writeInt(x);
f.writeInt(y);
}
public void writePoint(RandomAccessFile f,int n)throws IOException
{ ///////方法重载,移到第n个点的位置
f.seek(n*8);
f.writeInt(x);
f.writeInt(y);
}
public static Point readPoint(RandomAccessFile f)throws IOException
{ ////////在当前位置读点对象
int x=f.readInt();
int y=f.readInt();
return new Point(x,y);
}
public static Point readPoint(RandomAccessFile f,int n)throws IOException
{ ////////日,又是重载,读n点位置
f.seek(n*8);
int x=f.readInt();
int y=f.readInt();
return new Point(x,y);
}
}
public class Ex_RandomPointRW
{
public static void main(String[] args)throws Exception
{
Point pt;
RandomAccessFile raf=new RandomAccessFile("c:/t1.dat","rw");
for(int i=0;i<10;i++)
{
pt=new Point(i,i);
pt.writePoint(raf);
System.out.print(" "+pt);
}
System.out.println();
raf.close();
RandomAccessFile raf1=new RandomAccessFile("c:/t1,dat","rw");
/////// 修改第3个点的对象值
pt=new Point(300,300);
pt.writePoint(raf1,3);
///////修改第5个点的对象值
pt=new Point(500,500);
pt.writePoint(raf1,5);
raf1.close();
/////验证是否已修改
RandomAccessFile raf2=new RandomAccessFile("c:/t1,dat","r");
for(int i=0;i<10;i++)
{
pt=Point.readPoint(raf2);
System.out.print(" "+pt);
}
System.out.println();
raf.close();
}
}
-----------------------------------------------------------
///////////////编译是成功的 我想改变指定点的坐标值 但是输出后指定点的坐标虽然改变了
///////////////但是其他点的坐标也在乱变```````
class Point
{
private int x;
private int y;
public Point(int x,int y) /////构造函数
{
this.x=x;this.y=y;
}
public String toString()
{
return "["+x+","+y+"]"; /////以该格式输出坐标
}
public void writePoint(RandomAccessFile f)throws IOException
{ ////////在当前位置写点(x,y)对象
f.writeInt(x);
f.writeInt(y);
}
public void writePoint(RandomAccessFile f,int n)throws IOException
{ ///////方法重载,移到第n个点的位置
f.seek(n*8);
f.writeInt(x);
f.writeInt(y);
}
public static Point readPoint(RandomAccessFile f)throws IOException
{ ////////在当前位置读点对象
int x=f.readInt();
int y=f.readInt();
return new Point(x,y);
}
public static Point readPoint(RandomAccessFile f,int n)throws IOException
{ ////////日,又是重载,读n点位置
f.seek(n*8);
int x=f.readInt();
int y=f.readInt();
return new Point(x,y);
}
}
public class Ex_RandomPointRW
{
public static void main(String[] args)throws Exception
{
Point pt;
RandomAccessFile raf=new RandomAccessFile("c:/t1.dat","rw");
for(int i=0;i<10;i++)
{
pt=new Point(i,i);
pt.writePoint(raf);
System.out.print(" "+pt);
}
System.out.println();
raf.close();
RandomAccessFile raf1=new RandomAccessFile("c:/t1,dat","rw");
/////// 修改第3个点的对象值
pt=new Point(300,300);
pt.writePoint(raf1,3);
///////修改第5个点的对象值
pt=new Point(500,500);
pt.writePoint(raf1,5);
raf1.close();
/////验证是否已修改
RandomAccessFile raf2=new RandomAccessFile("c:/t1,dat","r");
for(int i=0;i<10;i++)
{
pt=Point.readPoint(raf2);
System.out.print(" "+pt);
}
System.out.println();
raf.close();
}
}
-----------------------------------------------------------
///////////////编译是成功的 我想改变指定点的坐标值 但是输出后指定点的坐标虽然改变了
///////////////但是其他点的坐标也在乱变```````
解决方案 »
- java Tcp通信问题
- 急问怎么从Eclipse开发里的IType类型拿到对应的Class对象。
- java 输入一个 8位整数 输出0~9各数字在该整数出现次数 有谁知道如何写这个程序
- 求救:iText可以向PDF中插入动态图片吗?
- 为什么我在contentpane里面加JButton的时候要最大化后才能看见?
- 怎样在JTable中隐藏一列
- java socket 如何实现客户端和服务器端不停地自由发送信息?
- 400分求教JAVA皮肤的问题
- windows2000中的J2SE的设置问题,用J2SE的朋友们请进来帮忙!
- IE5.0好像不支持Swing,怎样才能让一个带有Swing的程序在IE中正确显示呢
- 关与Eclipse下使用VE开发GUI的问题,急,在线等(50分)
- 关于克隆的接口问题
import java.io.*;
public class Ex_RandomRW
{
public static void main(String[] args)throws Exception
{
RandomAccessFile raf=new RandomAccessFile("c:/t.dat","rw");
final int DOUBLE_SIZE=8;
for(int i=0;i<10;i++) /////写入10个Double数值
{
raf.write(i);
System.out.print(" "+(double)i);
}
System.out.println();
raf.close();
RandomAccessFile raf1=new RandomAccessFile("c:/t.dat","rw");
//////////修改第3个double值
raf1.seek(3*DOUBLE_SIZE);
raf1.writeDouble(300);
//////////修改第5个double值
raf1.seek(5*DOUBLE_SIZE);
raf1.writeDouble(500);
raf1.close();
///////////验证是否有效
RandomAccessFile raf2=new RandomAccessFile("c:/t.dat","r");
for(int i=0;i<10;i++)
{
System.out.print(" "+raf2.readDouble());
}
System.out.println();
raf2.close();
}
}