Java输入输出流怎么以二维数组的形式存入文件前面的要求我把1.in完成了,把这个文件读取出来放到了一个一维数组里

img


怎么以二维数组的形式存入文件输入输出流怎么以二维数组的形式存入文件前面的要求我把1.in完成了,把这个文件读取出来放到了一个一维数组里

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/1058498
  • 这篇博客你也可以参考下:(Java实现)输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向
  • 除此之外, 这篇博客: JAVA数组的遍历 获取最大值最小值 数组的反转 数组的查找 练习 定义方法创建指定大小的数组,并添加指定元素 拼接两个数组中的 定义个方法,创建一个指定大小的数组,并向该数组添加指定元素,最后打印 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    package Chating;
    
    import java.util.Scanner;
    public class Shuzu {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		System.out.print("请输入数组大小:");
    		int num = sc.nextInt();//键盘录入指定数组大小
    		shuzu(num);//调用方法
    	}
    	public static void shuzu(int num) {
    		int j = 0;
    		int[] arr = new int[num];
    		while (j<num) {//循环输入元素的次数等于指定数组的大小数
    			Scanner sc = new Scanner(System.in);
    			System.out.print("请输入要加入的元素:");
    			int n = sc.nextInt();//键盘录入要加入的元素
    			arr[j]+=n;//每个元素下标上循环赋值
    			j++;
    		}
    		for (int i = 0; i < arr.length; i++) {
    			System.out.print(arr[i]+" ");
    		}
    	}
    }
    

    在这里插入图片描述


  • 您还可以看一下 汪翠老师的java项目实战之欢乐斗地主游戏开发教程 毕业项目课程设计带源码课程中的 接收从服务器端群发回来的消息并添加地主牌小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    我可以提供代码示例来解决该问题:

    import java.io.*;
    
    public class Main {
    
        public static void main(String[] args) throws Exception {
            int[][] arr = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
            File file = new File("array.txt");
            if (!file.exists()) {
                file.createNewFile();
            }
            FileOutputStream fos = new FileOutputStream(file);
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            oos.writeObject(arr);//将二维数组对象写入文件
            oos.flush();
            oos.close();
    
            FileInputStream fis = new FileInputStream(file);
            ObjectInputStream ois = new ObjectInputStream(fis);
            int[][] newArr = (int[][]) ois.readObject();//读取文件中的二维数组对象
            ois.close();
            //验证是否读取正确,输出二维数组
            for (int[] row : newArr) {
                for (int num : row) {
                    System.out.print(num + " ");
                }
                System.out.println();
            }
        }
    
    }
    

    上述代码中,我们首先将一个二维数组对象arr写入到一个名为array.txt的文件中,然后通过ObjectInputStream读取文件中的二维数组对象并存储到newArr变量中,最后输出验证读取是否正确。其中,关键在于使用ObjectOutputStream将二维数组对象写入文件,和使用ObjectInputStream读取文件中的二维数组对象。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^