Вопрос

I have a text file like this

A B C D E F
AABG EF 123
AD AD POLFE
APF PLF ADS

I'm trying to put each characters including blank spaces into a 2D array;

I tried this

data = new ASCIIDataFile();
int rowLen =0;
String s = "";
while(data.isEOF()!=true){
    iArray[rowLen] = data.readLine().toCharArray();
    rowLen++;
    }

but this will give me a null pointer. How can I put them in a 2d char array?

Это было полезно?

Решение 2

    Try This demo:

   import java.io.*;
   import java.util.*;
    class d
    {
    public static void main(String args[])
   {
        try
            {
         FileReader fr = new FileReader("String.txt");
         BufferedReader br = new BufferedReader(fr);
         String s="";
         char [] r2;
         int i=0,j=0;
         char [][]c=new char[5][12];
         while((s = br.readLine()) != null) 
         {
         r2=s.toCharArray();

         for(j=0;j<r2.length;j++)
         {
          c[i][j]=r2[j];
          System.out.print(""+c[i][j]);
          System.out.print(",");
        }
        i++;
        System.out.print("\n");
            }
        }
       catch(Exception e)
        {
         e.printStackTrace();
         }
       }
    }

enter image description here

Другие советы

This does as you wish. It splits your output into a string array, then creates a new char array for each.

   import  java.util.Arrays;
/**
   <P>{@code java SplitStringsTo2DCharArray}</P>
 **/
public class SplitStringsTo2DCharArray  {
   private static final String LINE_SEP = System.getProperty("line.separator", "\r\n");
   public static final void main(String[] ignored)  {
      StringBuilder input = new StringBuilder().
         append("A B C D E F").append(LINE_SEP).
         append("AABG EF 123").append(LINE_SEP).
         append("AD AD POLFE").append(LINE_SEP).
         append("APF PLF ADS").append(LINE_SEP);

      String[] lines = input.toString().split(LINE_SEP);

      //Assumes all lines are the same length
      char[][] charCharArray = new char[lines.length][lines[0].length()];

      for(int i = 0; i < lines.length; i++)  {
         String line = lines[i];
         charCharArray[i] = line.toCharArray();
      }

      for(int i = 0; i < charCharArray.length; i++)  {
         System.out.println(i + ": " + Arrays.toString(charCharArray[i]));
      }
   }
}

Output:

[C:\java_code\]java SplitStringsTo2DCharArray
0: [A,  , B,  , C,  , D,  , E,  , F]
1: [A, A, B, G,  , E, F,  , 1, 2, 3]
2: [A, D,  , A, D,  , P, O, L, F, E]
3: [A, P, F,  , P, L, F,  , A, D, S]

char array from file.

 File path = new File("c:/Bala/");//give ur path
      File file = new File(path, "Bala.txt");//give ur filename
      FileReader fr = new FileReader(file);
      char cbuf[] = new char[(int) file.length()];
      fr.read(cbuf);
      System.out.println(cbuf);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top