Нахождение первого номера.txt файла - Java

У меня разные .txt файлы, которые должны быть прочитаны Java. Тогда java должен дать мне первое число первой строки или, если я скажу иначе, первое число 4-го слова.

Например:

"AAAAAA B Version 5.0.1" или же "AAAAAA B Version 6.0.2"

5 или 6 должно быть полученным числом.

Я пробовал некоторые методы, такие как bufferedReader с line.charAt, но я не знаю, как я могу заставить его работать для моей проблемы. Что бы вы предложили, ребята?

BufferedReader br = null;
br = new BufferedReader(new FileReader(new File("C:\\Users\\Desktop\\new2.txt")));
String line = null;
while((line = br.readLine()) != null) {
    String[] parts = line.startsWith(...?.); 
    System.out.println("");

4 ответа

Решение

Прежде всего, просто прочитайте первую строку файла.

File f=new File("your_file.txt");
FileReader fr=new FileReader(f);
BufferedReader br=new BufferedReader(fr);
String firstLine=br.readLine();

Затем разделите строку пробелами, чтобы получить массив слов String

String[] words=firstLine.split("\\s+");

Разделите четвертое слово, используя " . "

String[] nos=words[3].split("\\.");
    System.out.println(nos[0]);//Expected output, First number of fourth 
//word in first line of given file

Если вы знаете, что четвертое слово в каждой строке должно быть номером версии, просто возьмите это слово и получите первый символ. Если это не обязательно четвертое слово, попробуйте использовать indexOf() в строке, а затем получить символ перед этим, то есть если вы точно знаете, что каждая строка настроена таким образом.

Я имел в виду, что если известно, что каждая строка имеет формат, который вы показали выше, вы должны использовать IndexOf() для десятичного числа.

AAAAAA B Версия 5(.)0.1

Или используйте split(), чтобы разделить пробел и получить каждое слово

parts = line.split(" ");
Pattern p = Pattern.compile("-?\\d+");
Matcher m = p.matcher(Your string here);

if(m.find()) {
    System.out.println(m.group());
}

Он пытается найти отрицательное или положительное целое число и печатает его, если может найти.

Ну, во-первых, убедитесь, что вы публикуете свой полный код. Диагностировать проблему намного проще, когда вы действительно располагаете информацией рядом с ней. Во-вторых, вам понадобится сканер, который объявлен для чтения этого файла.txt.

Обычный сканер сбрасывается следующим образом:

Scanner sc = новый сканер (System.in);

Это прочитает системный ввод для вашего собственного файла. однако вы можете изменить system.in на ваш файл, если объявите файл как переменную.

Другие вопросы по тегам