Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从文本文件中获取字符并将其放入2D数组中?_Java - Fatal编程技术网

Java 如何从文本文件中获取字符并将其放入2D数组中?

Java 如何从文本文件中获取字符并将其放入2D数组中?,java,Java,例如: -8-88-8-8-8--8 -8-8-8-8-8-8-8 *-8-8-8-8--8-8 8--8-8-8-8--8- 逐行读取文本文件 按-拆分字符串,以便让字符数组将其添加到2d字符数组中 最简单的方法是使用String方法 因此,如果您使用的是BufferedReader ArrayList<String> list = new ArrayList<String>(); BufferedReader br = new BufferedR

例如:

-8-88-8-8-8--8

-8-8-8-8-8-8-8

*-8-8-8-8--8-8

8--8-8-8-8--8-
  • 逐行读取文本文件
  • -
    拆分字符串,以便让字符数组将其添加到2d字符数组中

  • 最简单的方法是使用String方法

    因此,如果您使用的是BufferedReader

       ArrayList<String> list = new ArrayList<String>();
    
       BufferedReader br = new BufferedReader(new FileReader("file"));
       while ((thisLine = br.readLine()) != null) { 
         list.add(thisLine);
       } 
    
       // finally convert the arraylist to a char[]
       char[] firstDimension = new char[list.size()];
       for (int i = 0; i < list.length; i++) {
           firstDimension[i] = list.get(i).toCharArray();
       }
    
    ArrayList list=new ArrayList();
    BufferedReader br=新BufferedReader(新文件读取器(“文件”);
    而((thisLine=br.readLine())!=null){
    列表。添加(此行);
    } 
    //最后将arraylist转换为char[]
    char[]firstDimension=new char[list.size()];
    for(int i=0;i
    char[]firsDimension不是2d。试一试

        try {
            List<String> list = new ArrayList<String>();
    
            String thisLine = null;
            BufferedReader br;
            br = new BufferedReader(new FileReader("/path/to/file/yourfile.txt"));
    
            while ((thisLine = br.readLine()) != null) {
                list.add(thisLine);
            }
    
            char[][] firstDimension = new char[list.size()][];
            for (int i = 0; i < list.size(); i++) {
                firstDimension[i] = list.get(i).toCharArray();
            }
    
            //print values
            for (int i=0;i<firstDimension.length;i++) {
                for (int j=0;j<firstDimension[i].length;j++) {
                    System.out.println(firstDimension[i][j]);
                }
            }
    
        } catch (Exception e) {
            e.printStackTrace();
        }
    
    试试看{
    列表=新的ArrayList();
    字符串thisLine=null;
    缓冲剂;
    br=new BufferedReader(new FileReader(“/path/to/file/yourfile.txt”);
    而((thisLine=br.readLine())!=null){
    列表。添加(此行);
    }
    char[][]firstDimension=new char[list.size()][];
    对于(int i=0;i对于(int i=0;我是否举例说明文件的输入行或所需的2D输出数组?很简单,您需要按照我的回答中的两个步骤进行操作?如果im使用扫描仪,会是什么情况?bufferedreader可能更适合此情况,但如果我需要,则使用扫描仪逐行读取要打印双数组,我只需要我写的内容,不需要其他内容??
    
        try {
            Scanner scanner = new Scanner(new File(
                    "/home/sinan/Desktop/yourfile.txt"));
            scanner.useDelimiter(System.getProperty("line.separator"));
    
            ArrayList<String> list = new ArrayList<String>();
    
            while (scanner.hasNext()) {
                list.add(scanner.next());
            }
            scanner.close();
    
            // finally convert the arraylist to a char[][]
            char[][] firstDimension = new char[list.size()][];
            for (int i = 0; i < list.size(); i++) {
                firstDimension[i] = list.get(i).toCharArray();
            }
    
            for (int i = 0; i < firstDimension.length; i++) {
                for (int j = 0; j < firstDimension[i].length; j++) {
                    System.out.println(firstDimension[i][j]);
                }
            }
    
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }