1 package charactermanaj.util;
3 import java.io.BufferedInputStream;
4 import java.io.BufferedOutputStream;
6 import java.io.FileInputStream;
7 import java.io.FileOutputStream;
8 import java.io.IOException;
9 import java.io.InputStream;
10 import java.io.OutputStream;
11 import java.util.logging.Level;
12 import java.util.logging.Logger;
15 * ファイルベースのユーザーデータの保存先の実装
18 public class FileUserData implements UserData {
23 private static final Logger logger = Logger.getLogger(FileUserData.class.getName());
30 public FileUserData(File file) {
32 throw new IllegalArgumentException();
37 public boolean exists() {
38 return file.exists() && file.isFile();
41 public long lastModified() {
42 return file.lastModified();
46 public long length() {
50 public InputStream openStream() throws IOException {
51 return new BufferedInputStream(new FileInputStream(file));
54 public OutputStream getOutputStream() throws IOException {
55 return new BufferedOutputStream(new FileOutputStream(file));
58 public boolean delete() {
62 } catch (Exception ex) {
64 logger.log(Level.WARNING, "file removing failed." + file, ex);
70 public String toString() {
71 return "FileUserData{file:" + file + "}";