用java从文件中读取二维数组

文件格式如下:1 2 3 4 5 6 7 8 9 中间空一排 2 4 5 5 6 7 1 5 8
2024-11-25 21:35:01
推荐回答(4个)
回答1:

纠正下,文件中是没有二维数组的概念的,也就是说必须将文件中的内容转换为二维数组中的内容。
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
System.out.println(str);//此处将读取到的内容根据需要的规则,写入到二维数组中即可
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。

回答2:

在src下面建立xiaojiba.txt  把数据复制进去。


回答3:

难得写,给你点伪代码吧。

File f=new File("文件路径");
//通过流读入文件
InputStream in=new BufferedInputStream(file.getInputstream());
String s=convertStreamToString(in);
//然后把S拼接数组,代码省略,别说你还不会

//方法   流转换为String
 public String convertStreamToString(InputStream is) {    
         BufferedReader reader = new BufferedReader(new InputStreamReader(is));    
         StringBuilder sb = new StringBuilder();    
   
         String line = null;    
        try {    
            while ((line = reader.readLine()) != null) {    
                 sb.append(line + "\n");    
             }    
         } catch (IOException e) {    
             e.printStackTrace();    
         } finally {    
            try {    
                 is.close();    
             } catch (IOException e) {    
                 e.printStackTrace();    
             }    
         }    
   
        return sb.toString();    
     }    
}

回答4:

人呢忽然年后