Нахождение первого номера.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 на ваш файл, если объявите файл как переменную.