package com.brilliance.isc.common.tools.service;

import java.io.File;
import java.io.InputStream;
import java.util.List;

public interface ObjectStroeToolService {
    boolean saveNasFileByFile(File file, String targetPath);

    boolean saveNasFileByStream(InputStream inputStream, String targetPath);

    boolean saveNasFileByString(String content, String targetPath, String encoding);

    File getNasFile(String filePath);

    File[] listNasFiles(String dir);

    boolean removeNasFile(String rmoveFilePath);

    boolean moveNasFile(String filePath, String targetDir);

    boolean copyObjectFile(String filePath, String targetDir);

    boolean isExistNasFile(String filePath);

    boolean saveObjectFileByStream(String key, InputStream inputStream, String targetPath);

    boolean saveObjectFileByStream(InputStream inputStream, String targetPath);

    boolean saveObjectFileByFile(String key, File file, String targetPath);

    boolean saveObjectFileByFile(File file, String targetPath);

    boolean saveObjectFileByString(String key, String content, String targetPath, String encoding);

    boolean saveObjectFileByString(String content, String targetPath, String encoding);

    boolean saveMultiPartFile2Store(String localFilePath, String storeFilePath);

    File getObjectFile(String key, String filePath);

    File getObjectFile(String filePath);

    File[] listObjectFiles(String key,String dir);

    File[] listObjectFiles(String dir);

    boolean removeObjectFile(String key,String rmoveFilePath);

    boolean removeObjectFile(String rmoveFilePath);

    boolean removeObjectFiles(String key,List<String> files);

    boolean removeObjectFiles(List<String> files);

    boolean copyNasFile(String filePath, String targetDir);

    boolean moveObjectFile(String filePath, String targetDir);

    boolean isExistObjectFile(String key,String filePath);

    boolean isExistObjectFile(String filePath);

    byte[] readNasFile(String filePath);

    byte[] readObjectFile(String filePath);

    byte[] readObjectFile(String key, String filePath);

    File[] listObjectFilesByAntPatcher(String dir, String antPath);

    boolean cleanDir(String dir);
}
