用java从文件中读取二维数组 java读取txt文件然后赋值二维数组

\u600e\u4e48\u628atxt\u6587\u4ef6\u8bfb\u53d6\u5230java \u4e8c\u7ef4\u6570\u7ec4\u4e2d

import java.io.File;import java.io.FileNotFoundException;import java.util.Arrays;import java.util.Scanner;public class Test6{public static int[][] save(String fileName){int[][] les = null;try{Scanner scanner = new Scanner(new File(fileName));int i = 0;while(scanner.hasNextLine()){String line = scanner.nextLine().trim();if(i == 0){int num = Integer.parseInt(line);les = new int[num][num];}else{for(int j = 0; j < line.length(); j++){les[i - 1][j] = Integer.parseInt(line.charAt(j) + "");}}i++;}scanner.close();return les;}catch(FileNotFoundException e){e.printStackTrace();}return null;}public static void main(String[] args){int[][] LES = save("les.txt");System.out.println(Arrays.deepToString(LES));}}

java\u8bfb\u53d6txt\u6587\u4ef6\u7136\u540e\u8d4b\u503c\u4e8c\u7ef4\u6570\u7ec4\u5b9e\u73b0\u65b9\u6cd5\u5982\u4e0b\uff1a
package shi; import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List; public class Test13 { /** * \u8bfb\u53d6\u6587\u4ef6 * @param filePath * @return */ public static List readTxtFile(String filePath) { List list = new ArrayList(); try { String encoding = "UTF-8"; File file = new File(filePath); if (file.isFile() && file.exists()) { InputStreamReader read = new InputStreamReader( new FileInputStream(file), encoding); BufferedReader bufferedReader = new BufferedReader(read); String lineTxt = null; while ((lineTxt = bufferedReader.readLine()) != null) { if (!lineTxt.startsWith("#")) list.add(lineTxt); } read.close(); } else { System.out.println("\u627e\u4e0d\u5230\u6587\u4ef6"); } } catch (Exception e) { System.out.println("\u51fa\u9519\u4e86"); e.printStackTrace(); } return list; } /** * \u521b\u5efa\u4e8c\u7ef4\u6570\u7ec4 * @param list * @return */ public static String[][] createArray(String filePath){ List list = readTxtFile(filePath); String array[][] = new String[list.size()][]; for(int i=0;i<list.size();i++){ array[i] = new String[3]; String linetxt=list.get(i); String[] myArray = linetxt.replaceAll("\\s+", "@").split("@"); for(int j=0;j<myArray.length;j++){ if(j<3){ array[i][j]=myArray[j]; } } } return array; } /** * \u6253\u5370\u6570\u7ec4 * @param array */ public static void printArray(String array[][]){ for(int i=0;i<array.length;i++){ for(int j=0;j<array[i].length;j++){ if(j!=array[i].length-1){ System.out.print("array["+i+"]["+j+"]="+array[i][j]+","); } else{ System.out.print("array["+i+"]["+j+"]="+array[i][j]); } } System.out.println(); } } public static void main(String args[]) { String array[][] = createArray("F:\\test1.txt"); printArray(array); } }

纠正下,文件中是没有二维数组的概念的,也就是说必须将文件中的内容转换为二维数组中的内容。
可以通过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流会一直存在,直到程序运行结束。

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




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

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 + "
");    
             }    
         } catch (IOException e) {    
             e.printStackTrace();    
         } finally {    
            try {    
                 is.close();    
             } catch (IOException e) {    
                 e.printStackTrace();    
             }    
         }    
   
        return sb.toString();    
     }    
}


人呢忽然年后

  • 鐢╦ava浠庢枃浠朵腑璇诲彇浜岀淮鏁扮粍
    绛旓細绾犳涓嬶紝鏂囦欢涓槸娌℃湁浜岀淮鏁扮粍鐨勬蹇电殑锛屼篃灏辨槸璇村繀椤诲皢鏂囦欢涓殑鍐呭杞崲涓轰簩缁存暟缁勪腑鐨勫唴瀹銆傚彲浠ラ氳繃BufferedReader 娴佺殑褰㈠紡杩涜娴佺紦瀛橈紝涔嬪悗閫氳繃readLine鏂规硶鑾峰彇鍒扮紦瀛樼殑鍐呭銆侭ufferedReader bre = null;try { String file = "D:/test/test.txt";bre = new BufferedReader(new FileReader(file))...
  • java 灏嗕竴涓浜岀淮鏁扮粍瀛樺埌txt鏂囦欢閲,鐒跺悗鍐璇诲彇
    绛旓細import java.io.FileWriter;import java.io.IOException;public class NewTxt { public static void main(String[] args) throws IOException { int n = 5; //N*N鏁扮粍 double[][] arr = new double[n][n]; //鎻掑叆鐨勬暟缁 double[][] arr2 = new double[n][n];; //璇诲彇鍑虹殑鏁扮粍 /...
  • JAVA鏂囨湰璇诲彇浜岀淮鏁扮粍
    绛旓細import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;public class Test { private String[][] sDblArr = null;private int i = 0;private BufferedReader in = null;private File file = null;public Test(File file) { this.file = file...
  • JAVA 灏嗕竴涓狾BJECT绫诲瀷鐨浜岀淮鏁扮粍瀛樺埌TXT鏂囦欢閲,鐒跺悗鍐璇诲彇
    绛旓細new Object[] { "鑻忔牸鎷夊簳", 56, "鐢" },new Object[] { "鏉庣櫧", 35, "鐢" },new Object[] { "寮勭帀", 18, "濂" },new Object[] { "铏庡ご", 2, "鐢" } };try { File f=new File("D:/test.txt");FileOutputStream out=new FileOutputStream(f);for(Object[] o:tableD...
  • java璇诲彇txt鏂囦欢鐒跺悗璧嬪浜岀淮鏁扮粍
    绛旓細java璇诲彇txt鏂囦欢鐒跺悗璧嬪浜岀淮鏁扮粍瀹炵幇鏂规硶濡備笅锛歱ackage shi; import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List; public class Test13 { /** * 璇诲彇鏂囦欢 * @param file...
  • java鎬庢牱鑾峰彇浜岀淮鏁扮粍
    绛旓細1銆佸垱寤浜岀淮鏁扮粍 姣斿璇存槸String绫诲瀷鐨 String[][] str = new String[2][2]2銆佽幏寰椾簩缁存暟缁勪腑鐨勫 for(int i=0;i<str.length;i++){ for(int j=0;j<str.length;j++){ System.out.print(str[i][j]);} System.out.println();} ...
  • Java璇鏂囦欢娣诲姞鍒浜岀淮鏁扮粍
    绛旓細import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;public class ReadFile {public static void main(String[] args) throws IOException {File file = new File("D://temp.txt");BufferedReader bis = new BufferedReader(new FileReader(file...
  • 鎬庝箞鎶妕xt鏂囦欢璇诲彇鍒java 浜岀淮鏁扮粍涓
    绛旓細import java.io.File;import java.io.FileNotFoundException;import java.util.Arrays;import java.util.Scanner;public class Test6{public static int[][] save(String fileName){int[][] les = null;try{Scanner scanner = new Scanner(new File(fileName));int i = 0;while(scanner.hasNext...
  • Java 璇诲彇 txt鏂囨。 瀛樺洖浜岀淮鏁扮粍
    绛旓細if(!file.exists()){ System.out.println("璇峰皢瑕璇诲彇鐨則xt鏂囨湰鏀句簬D鐩橈紝骞跺彇鍚嶄负1.txt");} else{ try { fileReader=new FileReader(file);bufferedReader=new BufferedReader(fileReader);while(bufferedReader.readLine()!=null){ line++;//鍏堢湅涓涓媡xt涓湁澶氬皯琛岋紝浠ヤ究浜庝笅闈㈠垵濮嬪寲鏁扮粍鐨勯暱搴 ...
  • java鎬庝箞閬嶅巻浜岀淮鏁扮粍
    绛旓細public static void main(String[] args) { int[][] arrays = new int[2][3]; int levelOneLength = arrays.length; // 绗竴缁村害鏁扮粍闀垮害 for (int i = 0; i < levelOneLength; ++i) { int[] levelTwoArr = arrays[i]; // 鑾峰彇绗浜岀淮搴︽暟缁 int levelTwoLength ...
  • 扩展阅读:二维数组的声明方式有三种 ... java创建一个二维数组 ... java读取文件并输出 ... 从xml文件中读取数据 ... 二维数组a 表示几行几列 ... java声明整型二维数组 ... java文件读取和写入 ... java二维数组代码 ... java读取txt文件中的内容 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网