用java将数组写入到文件中并读取出来

将数组(可以是一维或多维)写入文件和读取,我用的是 对象流-ObjectInputStream ObjectOutputStream,要存放的对象需要实现Serlizeable接口(标记接口,无方法)或Externalizable接口(有方法,实现子类需实现)

定义了两个数组

int[] arr1 = {11,22,33};
int[] arr2 = null;

需求:将arr1写入文件中,并读取出来赋给arr2

思路:使用对象流-ObjectInputStream ObjectOutputStream

代码实现:

1.先创建好文件
File file = new File("d:\\map.data"); if (!file.exists()) { try { file.createNewFile(); } catch (Exception e) { e.printStackTrace(); } }

2.用ObjectOutputStream将数组写入指定文件中

try {
    //写入
    FileOutputStream fileOutputStream = new FileOutputStream("d:\\map.data");
    ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
    objectOutputStream.writeObject(arr1);
    objectOutputStream.close();
} catch (Exception e) {
    e.printStackTrace();
}

3.用ObjectInputStream将数组读取出来并赋给arr2

try {
    //读出
    FileInputStream fileInputStream = new FileInputStream("d:\\map.data");
    ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);

    Object o = objectInputStream.readObject();

    arr2 = (int[]) o;

    objectInputStream.close();

} catch (Exception e) {
    e.printStackTrace();
}

4.进行验证

System.out.println("=========");
for (int i = 0; i< arr2.length; i++) {
    System.out.print(arr2[i] + " ");
}

5.结果截图

 注意:使用完流记得关闭

数组可以为多维数组进行写入和读取

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值