我正在使用以下代码并使用apache commons库将一个文件(临时音频文件)从源文件夹复制到目标文件夹TT_1A.
码:
button1_save.setOnClickListener(new OnClickListener() { public void onClick(View v) { String sourcePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/TT/tt_temp.3gp"; File source = new File(sourcePath); String descPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/TT/tt_1A.3gp"; File desc = new File(descPath); try { FileUtils.copyDirectory(source,desc); } catch (IOException e) { e.printStackTrace(); } } });
Apache Commons:
http://commons.apache.org/proper/commons-io/download_io.cgi
题:
我使用了FileUtils函数来复制临时文件并粘贴到desc文件夹中作为TT_1A.然而logcat报告错误,具有以下细节:
10-17 00:41:04.260: E/AndroidRuntime(27450): FATAL EXCEPTION: main 10-17 00:41:04.260: E/AndroidRuntime(27450): java.lang.NoClassDefFoundError: org.apache.commons.io.FileUtils 10-17 00:41:04.260: E/AndroidRuntime(27450): at com.abc.abc.TT_details_canton$14.onClick(TT_details_canton.java:575) 10-17 00:41:04.260: E/AndroidRuntime(27450): at android.view.View.performClick(View.java:4223) 10-17 00:41:04.260: E/AndroidRuntime(27450): at android.view.View$PerformClick.run(View.java:17275) 10-17 00:41:04.260: E/AndroidRuntime(27450): at android.os.Handler.handleCallback(Handler.java:615) 10-17 00:41:04.260: E/AndroidRuntime(27450): at android.os.Handler.dispatchMessage(Handler.java:92) 10-17 00:41:04.260: E/AndroidRuntime(27450): at android.os.Looper.loop(Looper.java:137) 10-17 00:41:04.260: E/AndroidRuntime(27450): at android.app.ActivityThread.main(ActivityThread.java:4898) 10-17 00:41:04.260: E/AndroidRuntime(27450): at java.lang.reflect.Method.invokeNative(Native Method) 10-17 00:41:04.260: E/AndroidRuntime(27450): at java.lang.reflect.Method.invoke(Method.java:511) 10-17 00:41:04.260: E/AndroidRuntime(27450): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008) 10-17 00:41:04.260: E/AndroidRuntime(27450): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775) 10-17 00:41:04.260: E/AndroidRuntime(27450): at dalvik.system.NativeStart.main(Native Method)
整个晚上我一直坚持这一点.有没有办法复制文件?
解决方法
经过以下方式修改后,它运行良好:
button1_save.setOnClickListener(new OnClickListener() { public void onClick(View v) { String sourcePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/TongueTwister/tt_temp.3gp"; File source = new File(sourcePath); String destinationPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/TongueTwister/tt_1A.3gp"; File destination = new File(destinationPath); try { FileUtils.copyFile(source,destination); } catch (IOException e) { e.printStackTrace(); } } });