blob: 8b4425aeca30b4e5ebe775cd258413b803073dee [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2018 SAP SE and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* SAP SE - initial version
*******************************************************************************/
package org.eclipse.urischeme.internal.registration;
import java.io.File;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import java.net.URL;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
/**
* Productive implementation of {@link IFileProvider}
*/
public class FileProvider implements IFileProvider {
@Override
public List<String> readAllLines(String path) throws IOException {
Path filePath = Paths.get(path);
return Files.readAllLines(filePath);
}
@Override
public void write(String path, byte[] bytes) throws IOException {
Path filePath = Paths.get(path);
Files.write(filePath, bytes);
}
@Override
public Reader newReader(String path) throws IOException {
Path filePath = Paths.get(path);
return Files.newBufferedReader(filePath);
}
@Override
public Writer newWriter(String path) throws IOException {
Path filePath = Paths.get(path);
return Files.newBufferedWriter(filePath);
}
@Override
public boolean fileExists(String path) {
Path filePath = Paths.get(path);
return Files.exists(filePath);
}
@Override
public boolean isDirectory(String path) {
Path filePath = Paths.get(path);
return Files.isDirectory(filePath);
}
@Override
public String getFilePath(URL url) {
return new File(url.getPath()).getPath();
}
@Override
public DirectoryStream<Path> newDirectoryStream(String path, String glob) throws IOException {
Path dirPath = Paths.get(path);
return Files.newDirectoryStream(dirPath, glob);
}
}