Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/*
* The MIT License
*
* Copyright 2015 Kamnev Georgiy ([email protected]).
*
* Данная лицензия разрешает, безвозмездно, лицам, получившим копию данного программного
* обеспечения и сопутствующей документации (в дальнейшем именуемыми "Программное Обеспечение"),
* использовать Программное Обеспечение без ограничений, включая неограниченное право на
* использование, копирование, изменение, объединение, публикацию, распространение, сублицензирование
* и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется
* данное Программное Обеспечение, при соблюдении следующих условий:
*
* Вышеупомянутый копирайт и данные условия должны быть включены во все копии
* или значимые части данного Программного Обеспечения.
*
* ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ ЛЮБОГО ВИДА ГАРАНТИЙ,
* ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ,
* СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И НЕНАРУШЕНИЯ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ
* ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ
* ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ
* ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
* ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
*/
package xyz.cofe.fs;
import java.nio.charset.Charset;
import xyz.cofe.collection.Func2;
/**
* Абстрактный файл
*/
public abstract class AbstractFile
implements
File,
FileAppendBytes,
FileAppendText,
FileWriteBytes,
FileWriteText,
FileReadText,
FileReadBytes
{
/**
* Создание клона объекта
* @return клон
*/
@Override
public abstract File clone();
private FileHelper fileHelper;
/**
* Помошник для работы с файлом
* @return Помошник
*/
protected synchronized FileHelper getFileHelper(){
if( fileHelper!=null ){
return fileHelper;
}
fileHelper = new FileHelper(this);
return fileHelper;
}
/**
* Чтение текстового содержимого файла
* @param cs Кодировка (возможно null, тогда будет использоваться кодировка по умолчанию)
* @param maxSize Максимальное кол-во байт или -1
* @param blockSize Размер блока читаемого за раз или -1
* @param progress Функция уведомления чтения или null.
* Первый аргумент - прочитаное кол-во байт
* Второй аргумент - всего кол-во байт, которое должно быть прочтено
* @return Текстовое содержимое
*/
@Override
public String readText(Charset cs, int maxSize, int blockSize, Func2