Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
81 / 37 / 10
Регистрация: 21.11.2010
Сообщений: 177

Не генерируется файл заданного размера

29.04.2012, 12:45. Показов 3117. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Обращаюсь с проблемой, возникающей при работе с файлом.
Есть рабочий код, который должен генерировать текстовый файл размером более 4 ГБ. Однако нормально происходит генерация только при значении f.length(), указанном в приведенном ниже коде (1 ГБ). При выставлении большего значения (вплоть до требуемого) размер сгенерированного файла составляет всего 17 КБ (и не более) а затем программа завершает работу.
В чем дело?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
....
try {
            FileWriter fw = new FileWriter("G:/file.txt");
            try (BufferedWriter bw = new BufferedWriter(fw)) {
                while (f.length() <= 1024 * 1024 * 1024) {
                    bw.write(id.toString().replaceAll("-", "") + id.toString().replaceAll("-", "") + "\n");
                    count++;
                }
                bw.close();
            } catch (Exception e) {
                System.out.println("2");
            }
        } catch (Exception ex) {
            System.out.println("1 - Error!");
        }.....
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.04.2012, 12:45
Ответы с готовыми решениями:

Объединить в один файл файлы заданного размера и длины меньше заданной (shell)
Задача написать программу на Shell-e, объединяющую в один файл файлы заданного размера и длинны меньше заданной. Я смогла отобрать...

ссылка на файл генерируется
Доброго времени суток. Очень нужна помощь - самому никак не допереть: С сайта надо качать файл за определённые даты: стартовая дата...

Файл F генерируется из случайных чисел
Доброго времени суток. Прошу, помогите доделать программу. Файл F генерируется из случайных чисел, размерность файла указывает...

2
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
29.04.2012, 14:19
Очевидно, дело в том, что все числовые константы, по умолчанию, в java имеют тип int, который имеет максимальное значение 2^31 - 1. Попробуйте поменять ваше выражение на такое:
Java
1
while (f.length() <= 1024L * 1024L * 1024L)
Добавляя L в конец числовой константы, мы явно указываем, что должен использоваться тип long
1
81 / 37 / 10
Регистрация: 21.11.2010
Сообщений: 177
29.04.2012, 14:19  [ТС]
В той же программе:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
...
try {
            Scanner sc = new Scanner(new File("G:/file.txt"));
            long[] a = null;
            int i = 0;
            while (sc.hasNext()) {
                a[i] = sc.nextLong();
                i++;
            }
            qSort(a, 0, a.length);
try {
                BufferedWriter bw = new BufferedWriter(new FileWriter("G:/file1.txt"));
                for (int j = 0; j < a.length; j++) {
                    bw.write(a[j]+"\n");
                }
                bw.close();
            } catch (Exception e) {
                System.out.println("Error!");
            }
} catch (FileNotFoundException ex) {
            System.out.println("File not Found!");
        }
....
Выдает ошибку:
Java
1
2
3
4
5
6
7
8
9
Exception in thread "main" java.util.InputMismatchException
    at java.util.Scanner.throwFor(Scanner.java:909)
    at java.util.Scanner.next(Scanner.java:1530)
    at java.util.Scanner.nextLong(Scanner.java:2265)
    at java.util.Scanner.nextLong(Scanner.java:2225)
    at lr7.SimpleSort.fsort(SimpleSort.java:22)
    at lr7.LR7.main(LR7.java:13)
Java Result: 1
ПОСТРОЕНИЕ УСПЕШНО ЗАВЕРШЕНО (общее время: 2 минут 10 секунд)
Поясните, пожалуйста, в чем здесь дело.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.04.2012, 14:19
Помогаю со студенческими работами здесь

Узнать, возможно ли пронести холодильник заданного размера через дверной проём указанного размера
Описание: Размеры холодильника A x B x C. Возможно ли его пронести через дверной проем размерами X x Y? Будем считать, что холодильник...

Не генерируется файл R.java при импорте и создании новых проектов
Всем привет, переустановил ОС на компе установил eclipse+adt+sdk, однако при импорте старых и создании новых проектов не генерируется...

Записать в файл HTML код страницы, которая генерируется с помощью JavaScript
Всем привет есть ли возможность записать в файл HTML код страницы, которая генерируется с помощью JavaScript? Делал так: Dim...

Присвоить файловой переменной файл с именем N.txt, где N генерируется рандомно
Как присвоить файловой переменной файл с именем N.txt, где N генерируется рандомно? Например: N:=random(3); //допустим, N=2 И чтобы...

Файл F генерируется из случайных чисел, размерность файла указывает пользователь. Найти сумму чётных элементов
файл F генерируется из случайных чисел, размерность файла указывает пользователь. Найти суму чётных элементов.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru