Merge pull request #150 from corbt/better-move

move-file fallback
This commit is contained in:
Chris Dell 2016-08-09 21:41:12 +01:00 committed by GitHub
commit e071c35999

View File

@ -1,5 +1,6 @@
package com.rnfs;
import java.io.IOException;
import java.util.Map;
import java.util.HashMap;
@ -125,9 +126,13 @@ public class RNFSManager extends ReactContextBaseJavaModule {
@ReactMethod
public void moveFile(String filepath, String destPath, Promise promise) {
try {
File from = new File(filepath);
File to = new File(destPath);
from.renameTo(to);
File inFile = new File(filepath);
if (!inFile.renameTo(new File(destPath))) {
copyFile(filepath, destPath);
inFile.delete();
}
promise.resolve(true);
} catch (Exception ex) {
@ -139,16 +144,7 @@ public class RNFSManager extends ReactContextBaseJavaModule {
@ReactMethod
public void copyFile(String filepath, String destPath, Promise promise) {
try {
InputStream in = new FileInputStream(filepath);
OutputStream out = new FileOutputStream(destPath);
byte[] buffer = new byte[1024];
int length;
while ((length = in.read(buffer)) > 0) {
out.write(buffer, 0, length);
}
in.close();
out.close();
copyFile(filepath, destPath);
promise.resolve(null);
} catch (Exception ex) {
@ -157,6 +153,19 @@ public class RNFSManager extends ReactContextBaseJavaModule {
}
}
private void copyFile(String filepath, String destPath) throws IOException {
InputStream in = new FileInputStream(filepath);
OutputStream out = new FileOutputStream(destPath);
byte[] buffer = new byte[1024];
int length;
while ((length = in.read(buffer)) > 0) {
out.write(buffer, 0, length);
}
in.close();
out.close();
}
@ReactMethod
public void readDir(String directory, Promise promise) {
try {