Я хочу, чтобы мой код взял первую строку моего .txt
файла & напечатал его определенным образом, я думал, что у меня есть правильная идея, но ничего не происходит внутри консоли.Почему моя первая строка не будет напечатана из моего txt-файла?
Вот мой .txt
файл:
ABCDEFGHIJKLMNOPQRSTUVWXYZOOOOOOO
12345678912345678912345678912
Вот мой .java
файл:
import java.io.*;
public class EncryptDecrypt {
public static void encrypt() throws IOException {
BufferedReader in = new BufferedReader(new FileReader("cryptographyTextFile.txt"));
String line = in.readLine();
int iterator = 0;
char[][] table = new char[6][5];
// fill array
for(int i = 0; i < 6; i++) {
for(int j = 0; j < 5; j++) {
table[i][j] = line.charAt(iterator++);
}
}
// print array
for(int i = 0; i < 6; i++) {
for(int j = 0; j < 5; j++) {
System.out.print(table[i][j] + " ");
}
System.out.println();
}
}
public static void main(String[] args) throws IOException {
encrypt();
}
}
Я хочу, чтобы мой код только взять первую строку из моего .txt
файла и распечатать его следующим образом:
ABCDE
GHIJK
MNOPQ
STUVW
XYZOO
OOOOO
Вот error
Я получаю:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 29
at java.lang.String.charAt(String.java:686)
at EncryptDecrypt.encrypt(EncryptDecrypt.java:14)
at EncryptDecrypt.main(EncryptDecrypt.java:28)
В чем проблема, с которой вы сталкиваетесь? Вы пробовали использовать его с отладчиком? – ControlAltDel
Попробуйте окружить свой код «try-catch» и посмотрите, есть ли какая-либо ошибка ввода-вывода, это также хорошая практика. – aUserHimself
Копирование кода вашего метода шифрования и создание файла, подобного вашему, работает для меня, как и ожидалось. –