public class FileIO {
private static final Logger LOGGER = LoggerFactory.getLogger(FileIO.class);
- private static final FileAttribute<?>[] NO_ATTRIBUTES = new FileAttribute[0];
-
+
+ private static final FileAttribute<?>[] NO_ATTRIBUTES = {};
+
private static final Set<OpenOption> CREATE_OPTIONS = new HashSet<>(2);
private static final Set<OpenOption> APPEND_OPTIONS = new HashSet<>(1);
-
+
static {
CREATE_OPTIONS.add(StandardOpenOption.WRITE);
CREATE_OPTIONS.add(StandardOpenOption.CREATE);
-
+
APPEND_OPTIONS.add(StandardOpenOption.APPEND);
}
-
+
private Path path;
private int writePosition = 0;
- private FileIO(Path path) {
+ public FileIO(Path path) {
this.path = path;
}
-
- private static Map<Path, FileIO> map = new HashMap<Path, FileIO>();
-
- public static FileIO get(Path path) {
- synchronized(map) {
- FileIO existing = map.get(path);
- if(existing == null) {
- existing = new FileIO(path);
- map.put(path, existing);
- }
- return existing;
- }
- }
-
+
//private static final boolean TRACE_SWAP = false;
private static final boolean TRACE_PERF = false;