[英]How to convert Strings to 2d char Array
我有一个这样的文本文件
A B C D E F
AABG EF 123
AD AD POLFE
APF PLF ADS
我正在尝试将每个字符(包括空格)放入2D数组中;
我试过了
data = new ASCIIDataFile();
int rowLen =0;
String s = "";
while(data.isEOF()!=true){
iArray[rowLen] = data.readLine().toCharArray();
rowLen++;
}
但这会给我一个空指针。 如何将它们放入2d char数组中?
这确实如您所愿。 它将输出分成字符串数组,然后为每个数组创建一个新的char数组。
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]));
}
}
}
输出:
[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数组。
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);
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();
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.