我目前有一个 .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
最佳答案
您必须使用 char
的 2D 数组
或 String
的 1D 数组
'String' 类
已在内部实现为 'Char' 数组
。
只需使用字符串
的一维数组
,例如:
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)
}
关于java - 将数组放入文件列column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42122112/