将数组(可以是一维或多维)写入文件和读取,我用的是 对象流-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.结果截图
注意:使用完流记得关闭
数组可以为多维数组进行写入和读取