mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-12-18 12:47:50 +08:00
java: resolve parent directory if started with seaweedfs://
This commit is contained in:
parent
42e5ef4b01
commit
8c3177d835
@ -84,6 +84,11 @@ public class SeaweedOutputStream extends OutputStream {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static String getParentDirectory(String path) {
|
public static String getParentDirectory(String path) {
|
||||||
|
int protoIndex = path.indexOf("://");
|
||||||
|
if (protoIndex >= 0) {
|
||||||
|
int pathStart = path.indexOf("/", protoIndex+3);
|
||||||
|
path = path.substring(pathStart);
|
||||||
|
}
|
||||||
if (path.equals("/")) {
|
if (path.equals("/")) {
|
||||||
return path;
|
return path;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
package com.seaweedfs.examples;
|
||||||
|
|
||||||
|
import org.apache.hadoop.conf.Configuration;
|
||||||
|
import org.apache.hadoop.fs.FileSystem;
|
||||||
|
import org.apache.hadoop.fs.Path;
|
||||||
|
import org.apache.hadoop.io.IOUtils;
|
||||||
|
|
||||||
|
import java.io.*;
|
||||||
|
|
||||||
|
public class HdfsCopyFile {
|
||||||
|
public static void main(String[] args) throws IOException {
|
||||||
|
Configuration configuration = new Configuration();
|
||||||
|
|
||||||
|
configuration.set("fs.defaultFS", "seaweedfs://localhost:8888");
|
||||||
|
configuration.set("fs.seaweedfs.impl", "seaweed.hdfs.SeaweedFileSystem");
|
||||||
|
|
||||||
|
FileSystem fs = FileSystem.get(configuration);
|
||||||
|
String source = "/Users/chris/tmp/test.zip";
|
||||||
|
String destination = "/buckets/spark/test01.zip";
|
||||||
|
InputStream in = new BufferedInputStream(new FileInputStream(source));
|
||||||
|
|
||||||
|
OutputStream out = fs.create(new Path(destination));
|
||||||
|
IOUtils.copyBytes(in, out, 4096, true);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user