У меня проблема с java. Я пытаюсь прочитать txt-файл, который имеет переменное число целых чисел в строке, и для каждой строки мне нужно суммировать каждое второе целое число! Я использую сканер для чтения целых чисел, но не могу работать, когда выполняется строка. Может ли кто-нибудь помочь PLS?Проблема чтения файла Java
ответ
посмотреть класс BufferedReader для чтения текстового файла и в классе StringTokenizer для разделения каждой строки на строки.
String input;
BufferedReader br = new BufferedReader(new FileReader("foo.txt"));
while ((input = br.readLine()) != null) {
input = input.trim();
StringTokenizer str = new StringTokenizer(input);
String text = str.nextToken(); //get your integers from this string
}
Если бы я тебя, я бы, вероятно, использовать FileUtils класс от Apache Commons IO. Метод readLines(File file)
возвращает список строк, по одному для каждой строки. Затем вы можете просто обрабатывать одну строку за раз.
Что-то вроде этого:.
File file = new File("test.txt");
List<String> lines = FileUtils.readLines(file);
for (String line : lines) {
// handle one line
}
(К сожалению Commons IO не поддерживает дженерик, так что было бы неконтролируемое предупреждение назначения при назначении Перечислите < Строки > Для исправления, которые используют либо @SuppressWarnings , или просто нетипизированный список и литье к строкам.)
Это, пожалуй, пример ситуации, когда можно применить «know and use the libraries» и вообще пропустить код шаблона нижнего уровня.
это за счет расходов на включение jar lib ... хотя я согласен, если вы можете попытаться использовать библиотеки общедоступных доменов. – zeroin23
Да, если бы это была * единственная вещь, которая вам нужна из Commons IO, возможно, это было бы неважно. Но, как правило, у Apache Commons libs (и, например, Google Collections) много полезного для вашего проекта. – Jonik
или скрести от достоянию первой необходимости в обоих узнать хорошую технику и пропустить баночку:
import java.io.*;
import java.util.*;
class Test
{
public static void main(final String[] args)
{
File file = new File("Test.java");
BufferedReader buffreader = null;
String line = "";
ArrayList<String> list = new ArrayList<String>();
try
{
buffreader = new BufferedReader(new FileReader(file));
line = buffreader.readLine();
while (line != null)
{
line = buffreader.readLine();
//do something with line or:
list.add(line);
}
} catch (IOException ioe)
{
// ignore
} finally
{
try
{
if (buffreader != null)
{
buffreader.close();
}
} catch (IOException ioe)
{
// ignore
}
}
//do something with list
for (String text : list)
{
// handle one line
System.out.println(text);
}
}
}
Это решение, которое я хотел бы использовать.
import java.util.ArrayList;
import java.util.Scanner;
public class Solution1 {
public static void main(String[] args) throws IOException{
String nameFile;
File file;
Scanner keyboard = new Scanner(System.in);
int total = 0;
System.out.println("What is the name of the file");
nameFile = keyboard.nextLine();
file = new File(nameFile);
if(!file.exists()){
System.out.println("File does not exit");
System.exit(0);
}
Scanner reader = new Scanner(file);
while(reader.hasNext()){
String fileData = reader.nextLine();
for(int i = 0; i < fileData.length(); i++){
if(Character.isDigit(fileData.charAt(i))){
total = total + Integer.parseInt(fileData.charAt(i)+"");
}
}
System.out.println(total + " \n");
}
}
}
- 1. Проблема чтения файла Java
- 2. Проблема чтения файла Python
- 3. Проблема чтения файла .txt
- 4. CSV проблема чтения файла
- 5. Проблема чтения текстового файла
- 6. проблема чтения serialport java
- 7. C++ проблема чтения txt-файла
- 8. чтения файла проблема в сервлет
- 9. чтения файла в Java
- 10. Содержимое файла для чтения Java
- 11. Java разделитель чтения текстового файла
- 12. Проблема с остановкой процесса чтения файла
- 13. Проблема чтения файла из URL - разрешения отказано
- 14. Проблема чтения файла в массив байтов
- 15. чтения Java хранилища ключей пароль из файла
- 16. Проблема чтения и записи Java com port
- 17. Чтения строки из файла в Java
- 18. Создание Java-файла путем чтения с url
- 19. Java Applet чтения внешнего license.xml файла
- 20. Java чтения файла .doc с помощью POI
- 21. Java POI - дата чтения из файла Excel
- 22. java - Файл lastModified vs для чтения файла
- 23. JAVA- Ошибка чтения файла 1 (ошибка)
- 24. Java Reader, метод чтения для текстового файла
- 25. Java для чтения/записи позиционного файла
- 26. JAVA эффективный способ чтения журналов из файла
- 27. Рекомендуемый способ чтения файла в Java 7
- 28. с ошибкой чтения из файла в java
- 29. чтения данных из файла в Java
- 30. FileInputStream ошибка Java: ошибка чтения файла
Заполните вопрос, добавив свой код. –
звучит как домашнее задание? – Jorn