#java
#java
Вопрос:
Java не распознает португальские символы и поэтому не может читать и редактировать мой текст так, как я хочу. По сути, все, что я хотел, это отделить строки, начинающиеся с определенного символа, от других. Спасибо.
Я перепробовал много способов заставить его читать, в конце он обрабатывает текст так, как будто в нем вообще нет строк.
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Indice {
public static void main(String[] args)throws FileNotFoundException {
Scanner sc = new Scanner(new File("Resources/dedu.txt"));
int i = 1;
while (i <= 20000) {
String line = sc.nextLine();
char f = line.charAt(0);
if (f == '-') {
System.out.println(line);
}
i ;
}
}
}
Он должен печатать строки, начинающиеся с ‘-‘, вместо этого он ничего не делает или показывает ошибку.
Комментарии:
1. в чем ошибка?
2. Какие входные данные вы пытаетесь прочитать, но не можете?
3. Читать ericlippert.com/2014/03/05/how-to-debug-small-programs советы по отладке вашего кода
4. Это может быть проблема с кодировкой. Вместо scanner используйте FileInputStream и передайте тип кодировки в качестве параметра
5. Java не имеет особого смысла в португальских, китайских или английских символах . Он знает о национальных и языковых локализациях , но главное, что вам нужно знать для чтения текста, — это кодировка символов , также известная как charset. Инициализируя сканер с помощью
Scanner(File)
конструктора, вы полагаетесь на то, что файл будет закодирован в соответствии с системной кодировкой по умолчанию. Если есть какой-либо шанс, что это на самом деле не его кодировка, тогда вам следует использовать один из конструкторов, который позволяет вам указывать (и вы должны указывать правильно, конечно).