我目前有一个.txt
文件,其中一行看起来像:
xxxxxxxxxxxxxxxxxxxxx
我想将这一行放入一个二维数组,这样我的文件可以这样出来:
xxxxxxx
xxxxxxx
xxxxxxx
这是我的java
课程:
import java.util.*;
import java.io.*;
public class EncryptDecrypt {
public static void encrypt() throws IOException {
BufferedReader in = new BufferedReader(new FileReader("TextFile.txt"));
String line = in.readLine();
String[][] e = new String[5][3];
// fill array
for(int i = 0; i < e.length; i++) {
for(int j = 0; j < e.length; j++) {
e[i][j] = line;
}
}
// print array
for(int i = 0; i < e.length; i++) {
for(int j = 0; j < e.length; j++) {
System.out.println(e[i][j]);
break;
}
}
}
public static void main(String[] args) throws IOException {
encrypt();
}
}
当我运行我的java类时,我得到的就是这不是我想要的东西:
xxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxx
答案 0 :(得分:1)
您必须使用2D array
char
或1D array
String
'String' class
已在内部实施为array of 'Char'
。
只需使用1D array
String
,例如:
String[] e = new String[3];
// fill array
for(int i = 0; i < e.length; i++) {
e[i] = line;
}
// print array
for(int i = 0; i < e.length; i++) {
System.out.println(e[i]);
}
2D版本如下(不推荐)
String line = in.readLine();
Char[][] e = new Char[3][5];
for(int i = 0; i < e.length; i++) {
for(int j = 0; j < e.length; j++) {
e[i][j] = line.charAt(j);//to access element at jth index of string
}
}
// print array
for(int i = 0; i < e.length; i++) {
for(int j = 0; j < e.length; j++) {
System.out.print(e[i][j]);
}
System.out.println()
}
无论如何打印你不要存储在数组中,只需:
int noOfRows = 3;
for(int i=0;i<noOfRows;i++){
System.out.println(line)
}
答案 1 :(得分:0)
你可以像这样迭代字符串:
for (String token : Splitter.fixedLength(coluns).split(line)) {
System.out.println(token);
}
使用Guava&#39; UnicodeEncoding
class时可以使用更具说明性的版本:
setTimeout(function(){alert('Test')},20);