Я могу записать в конец файла на 5 ГБ в Java?

Используете ли вы этот API? https://sendgrid.com/docs/API_Reference/api_v3.html

Вам необходимо кодировать файлы base-64, а затем включать их в полезную нагрузку json, отправляемую в sendgrid. Вы столкнетесь с некоторыми проблемами размера, пытаясь передать большие полезные данные в командной строке, возможно, рассмотрите возможность использования одной из предоставленных библиотек? Э.Г.

https://github.com/sendgrid/sendgrid-python/blob/master/use_cases/attachment.md

6
задан David Locke 3 December 2008 в 21:15
поделиться

5 ответов

Это должно быть возможно довольно легко использование RandomAccessFile. Что-то как следующее должно работать:

String filename;

RandomAccessFile myFile = new RandomAccessFile(filename, "rw");

// Set write pointer to the end of the file
myFile.seek(myFile.length());

// Write to end of file here
13
ответ дан 8 December 2019 в 05:58
поделиться

Да. Смотрите на эту ссылку RandomAccessFile

http://java.sun.com/javase/6/docs/api/java/io/RandomAccessFile.html#seek (долго)

Таким образом, Вы открываете файл и затем устанавливаете положение в конец файла. И начните писать оттуда.

Скажите нам, как это пошло.

6
ответ дан 8 December 2019 в 05:58
поделиться

На самом деле это зависело бы от базовой Файловой системы и как JVM на той платформе реализует Поток Файла. Поскольку, если файл больше, чем 5 ГБ, Вы не можете, с действующей системой на 32 бита открывают целый файл и просто пишут в него, из-за 4,3 миллиардов предельных материалов (32^2).

Так, ответ вскоре был бы, Да, возможно, ЕСЛИ Java обрабатывает файл правильно, и Файловая система является хорошей :)

2
ответ дан 8 December 2019 в 05:58
поделиться

Если Вы просто подразумеваете, что необходимо добавить в файл, проверьте

FileWriter(File file, boolean append) 

конструктор в классе FileWriter.

Извините, у меня нет файла на 5 ГБ удобным для тестирования с.:)

1
ответ дан 8 December 2019 в 05:58
поделиться

5 ГБ? Интересно, является ли ОС большей проблемой, но это сомнительно.

В теории можно просто открыться, файл в добавляют режим.

OutputStream in = new java.io.FileOutputStream(fileName, true);

и запишите, пока файловая система не заполнится.

См. счет Ящерица для символьных данных.

0
ответ дан 8 December 2019 в 05:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: