我已经将复制文件的代码写入一个位置到另一个位置。但是它会抛出未知的错误。并且在andriod.can中运行时也面临nullPointerException,任何人都请解释我。 这是我的代码
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, successCallback, errorCallback)
function successCallback(filesystem) {
alert("2");
filesystem.root.getDirectory('mservice', {create:false}, function(fileEntry) {alert("3");
fileEntry.getFile('queue_mgr.txt',{create:false},function(file){alert("4");
var filePath = "/Download/queue_mgr.txt";
alert(filePath);
var name ='queue_mgr.txt';
parentEntry =new DirectoryEntry(name,filePath);
//alert(parentEntry.name);
alert(parentEntry);
file.copyTo(parentEntry,'queue_mgr.txt',function(e){alert("success"+e.fullPath);},function(er){alert("fail"+er.code);});
},errorCallback);
},errorCallback);
}
function errorCallback(error) {
alert("ERROR: " + error.code);
}
-
System.err: at org.apache.cordova.file.FileUtils.transferTo(FileUtils.java:784)
11-14 21:41:29.785 32161-32229/com.example.database W/System.err: at org.apache.cordova.file.FileUtils.access$1300(FileUtils.java:56)
11-14 21:41:29.785 32161-32229/com.example.database W/System.err: at org.apache.cordova.file.FileUtils$21.run(FileUtils.java:510)
11-14 21:41:29.785 32161-32229/com.example.database W/System.err: at org.apache.cordova.file.FileUtils$25.run(FileUtils.java:657)
11-14 21:41:29.785 32161-32229/com.example.database W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
11-14 21:41:29.785 32161-32229/com.example.database W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
11-14 21:41:29.795 32161-32229/com.example.database W/System.err: at java.lang.Thread.run(Thread.java:841)
答案 0 :(得分:0)
以下是来源:https://github.com/apache/cordova-plugin-file/blob/master/src/android/FileUtils.java
看起来你正在触及FileNotFoundException?通过向代码添加更多异常处理,可能更容易分辨出它正在失败的调用。
编辑:异常来自内部方法TransferTo()
,该方法在第515行左右从file.copyTo()
调用。该方法正在寻找一些值,其中一个或多个似乎是空 - 因此你的例外:
if (srcURLstr == null || destURLstr == null) {
// either no source or no destination provided
throw new FileNotFoundException();
}
检查以确保传递到file.copyTo()
的源和目标参数是有效的URL字符串而不是空的。