Полный ответ (с углового 1.4). Вам нужно включить зависимость $ httpParamSerializer
var res = $resource(serverUrl + 'Token', { }, {
save: { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }
});
res.save({ }, $httpParamSerializer({ param1: 'sdsd', param2: 'sdsd' }), function (response) {
}, function (error) {
});
Ну, нет, я не полагаю, что существует способ постараться не перезаписывать существующее содержание с единственным, стандартным Java вызов API IO.
, Если файлы не являются слишком большими, просто считайте весь файл в ArrayList (запись на строку) и или перепишите записи или вставьте новые записи для новых строк.
Тогда перезаписывают существующий файл с новым содержанием, или перемещают существующий файл в резервное копирование и пишут новый файл.
В зависимости от того, насколько сложный редактирования должны быть, Ваша структура данных, возможно, должна измениться.
Другой метод должен был бы считать символы из существующего файла при записи в отредактированный файл и отредактировать поток, как это читается.
Я не знаю, существует ли удобный способ сделать это прямо иначе, чем
О цели: можно создать новое содержание файла в памяти и затем перезаписать старое содержание файла, если обработанные файлы не являются настолько большими. Или можно записать результат во временный файл.
вещь, вероятно, было бы самым легким сделать с потоками, RandomAccessFile, кажется, не предназначен для вставки в середине (afaik). Проверьте учебное руководство , если Вам нужно.
Я полагаю, что единственный способ вставить текст в файл существующего текста состоит в том, чтобы считать исходный файл и записать содержание во временном файле с новым вставленным текстом. Тогда сотрите исходный файл и переименуйте временный файл к настоящему имени.
Этот пример фокусируется на вставленном одна строка в существующий файл, но все еще возможно, использования Вам.
Если в Java есть способ отображения файлов карты памяти, то вы можете расширить файл до новой длины, сопоставить файл, переместить все байты вниз до конца, чтобы сделать отверстие и записать новые данные в дыру.
Это работает на C. Никогда не пробовал это на Java.
Другой способ, который я только что придумал сделать то же самое, но с произвольным доступом к файлам.
Используйте больший размер буфера для повышения производительности.
Если это текстовый файл ,,,, Прочтите существующий файл в StringBuffer и добавьте новое содержимое в тот же StringBuffer, теперь вы можете записать SrtingBuffer в файл. так что теперь файл содержит как существующий, так и новый текст.