Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 27.03.2015
Сообщений: 21

Чтение числа из файла, преобразование, запись обратно

29.08.2015, 20:40. Показов 4987. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, не получается считать из файла число... Не говоря уже о преобразовании и записи обратно.
Пробовал через Scanner и BufferedReader. Пробовал считывать сразу тип int, пробовал сперва считать как String, а потом преобразовать - все ошибки выдает. Не понимаю...
Надо чтобы число хранилось в файле, а при запуске программы бралось от туда, добавлялось другое число и новое значение записывалось обратно, где и должно храниться до нового запуска программы.

Насчет считывания, одна из попыток:
Java
1
2
3
4
5
public static void main(String[] args) throws FileNotFoundException {
        Scanner scanner = new Scanner(new File("text.txt"));
        int i = scanner.nextInt();
        System.out.println(i);
    }
Выдаёт ошибку, почему?
Содержимое файла, допустим "500".
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.08.2015, 20:40
Ответы с готовыми решениями:

Чтение массива из файла, его преобразование и запись в другой файл
Всем привет. Есть вот такой код: #include <iostream> #include <vector> #include <fstream> #include <string> ...

Построчное чтение файла в Си и преобразование прочитанных строк в числа
Здравствуйте, помогите пожалуйста, нужно последовательно преобразовывать строки файла в числа (желательно unsigned short) и записывать в...

Чтение из файла и запись числа в массив
Добрый день, уважаемые. Помогите. Есть файл func.txt, в котором через пробел записаны координаты X и Y точки на плоскости. Также есть...

9
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
29.08.2015, 20:44
idea_site, какую ошибку? Тут телепатов нет. Так же не выкидывайте исключение из main. Обрабатывайте внутри.
0
0 / 0 / 0
Регистрация: 27.03.2015
Сообщений: 21
29.08.2015, 20:54  [ТС]
Добавлено через 2 минуты
KEKCoGEN,
Java
1
2
3
4
5
Exception in thread "main" java.util.InputMismatchException
    at java.util.Scanner.throwFor(Scanner.java:864)
    at java.util.Scanner.next(Scanner.java:1485)
    at java.util.Scanner.nextInt(Scanner.java:2117)
    at java.util.Scanner.nextInt(Scanner.java:2076)
Добавлено через 4 минуты
KEKCoGEN, вот, так пробую еще и String читает без проблем, но если пытаюсь преобразовать - ошибки

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public static void main(String[] args) {
        Scanner scanner = null;
        try {
            scanner = new Scanner(new File("res//text.txt"));
        } catch (FileNotFoundException e) {
            System.out.println("Ошибка");
        }
 
        String i = scanner.next();
        int q = Integer.parseInt(i);
        System.out.println(q);
 
    }
Ошибки:
Java
1
2
3
4
Exception in thread "main" java.lang.NumberFormatException: For input string: "500"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:580)
    at java.lang.Integer.parseInt(Integer.java:615)
внутри файла "500".
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
29.08.2015, 21:19
idea_site, скорее всего там символ какой-то типа переноса строки.
0
0 / 0 / 0
Регистрация: 27.03.2015
Сообщений: 21
29.08.2015, 21:33  [ТС]
KEKCoGEN, никаких там переносов не было и посторонних символов. Этот файл я создавал вручную. А вот попробовал наполнить его через программу - получилось

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public static void main(String[] args) {
        int x = 5000;
        try {
            Formatter q = new Formatter("res//text.txt");
            q.format("%d", x);
            System.out.println("Программа записала данные.");
            q.close();
 
 
            Scanner scanner = new Scanner(new File("res//text.txt"));
            int i = scanner.nextInt();
            System.out.println(i);
        } catch (FileNotFoundException e) {
            System.out.println("Error");
        }
    }
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
29.08.2015, 21:46
idea_site, прикрепите файл который вы вручную создали и который не читается
1
0 / 0 / 0
Регистрация: 27.03.2015
Сообщений: 21
29.08.2015, 21:56  [ТС]
KEKCoGEN, вот, открыл через блокнот тот же файл, вписал туда число, сохранил, пробую - ошибка
text.txt
А если предварительно перед считывания int из файла я запишу туда число через Formatter - все хорошо, только так.
В остальных случаях считывает только String, причем преобразовать потом в int не получается никаким методом.
0
0 / 0 / 0
Регистрация: 27.03.2015
Сообщений: 21
29.08.2015, 22:03  [ТС]
KEKCoGEN,
И вот таким образом я получаю рабочую программу, что мне надо было (предварительно подготовив файл)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public static void main(String[] args) {
        writeInFile(read(), numberEnter());
    }
 
    private static int read() {
        int a = 0;
        try {
            Scanner scanner = new Scanner(new File("res//text.txt"));
            a = scanner.nextInt();
        } catch (FileNotFoundException e) {
            System.out.println("Error");
        }
        return a;
    }
 
    private static int numberEnter() {
        Scanner scn = new Scanner(System.in);
        System.out.println("Какую число хотите добавить?");
        int b = scn.nextInt();
        return b;
    }
 
    private static void writeInFile(int readNum, int newNum) {
        try {
            Formatter q = new Formatter("res//text.txt");
            int sum = readNum + newNum;
            q.format("%d", sum);
            System.out.println("Программа записала данные.");
            q.close();
        } catch (FileNotFoundException e) {
            System.out.println("Error");
        }
    }
0
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
30.08.2015, 17:07
Лучший ответ Сообщение было отмечено idea_site как решение

Решение

idea_site, потому что мелкомягковская поделка при сохранении в UTF-8 добавляет BOM. Ты бы это увидел, если бы посмотрел на размер файла: 7 байт, вместо логичных 4.
1
0 / 0 / 0
Регистрация: 27.03.2015
Сообщений: 21
30.08.2015, 17:34  [ТС]
aleksandy, действительно, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.08.2015, 17:34
Помогаю со студенческими работами здесь

Запись в файл из массива объектов и чтение обратно в массив
Прошу помощи Приблизительно вот такой код class A { public int Element { get; set; } public string...

Создание файла с массивом и чтение этого файла обратно используя ShareActionProvider
Есть созданный массив, после нажатия на кнопку он должен вносится в файл, а потом передать этот файл используя ShareActionProvider. После...

Преобразование числа в форматированную строку и обратно
Всем привет, недавно нарыл как преобразовывать число в строку с разделением по разрядам: textBox1.Text = ...

Преобразование числа в код Грея и обратно
Всем доброго утра!)Помогите пожалуйста написать блоки преобразования числа в код Грея и обратно (результатом программы должны являться 2...

Туда и Обратно(преобразование файла в 16 -й код)
Здрасте! Как я понимаю любой файл, вне зависимости от содержания и типа файла, можно представить в виде последовательности 16-х символов....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru