Android: копирование файлов из одного каталога в другой
Я работаю над копированием одного файла (temp audio file)из исходной папки в папку назначения как TT_1A, используя следующий код с использованием библиотеки Apache commons.
Код:
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. подробности:
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)
Я мучился этим всю ночь. Существуют ли способы копирования файлов??
1 ответ:
Он работает хорошо после внесения поправок следующим образом:
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(); } } });
Comments