2017年11月27日月曜日

package xxxxxx.yyyyyy.zzzzzz.projectName.job01; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; import javax.inject.Inject; import org.springframework.core.io.Resource; import org.springframework.core.io.WritableResource; import org.springframework.core.io.support.ResourcePatternResolver; import org.springframework.stereotype.Component; @Component public class FileAccessHelper { @Inject private ResourcePatternResolver resourceLoader = null; /** * ファイルを取得する。(S3パスを指定可能) * @param path パス * @return Fileオブジェクト * @throws IOException */ public File getFile(String path) throws IOException { Resource resource = resourceLoader.getResource(path); // ファイルが存在しない場合、Exceptionをスロー if (!resource.exists()) { throw new RuntimeException(); } return resource.getFile(); } /** * ファイルを取得する。(S3パスを指定可能) * @param path パス * @return ファイル内容のリスト * @throws IOException */ public List getFileContents(String path) throws IOException { List contentsList = new ArrayList<>(); File file = this.getFile(path); try (BufferedReader br = new BufferedReader(new FileReader(file))) { String str = br.readLine(); while (str != null) { contentsList.add(str); str = br.readLine(); } } return contentsList; } public void putFile(String path) throws IOException { Resource resource = this.resourceLoader.getResource(path); WritableResource writableResource = (WritableResource) resource; try (OutputStream outputStream = writableResource.getOutputStream()) { outputStream.write("test".getBytes()); } } }

スポンサード リンク

0 件のコメント:

コメントを投稿