PageRenderTime 45ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/src/nmg/demo/activity/FileHelperActivity.java

https://bitbucket.org/kenhe_nmg/online-android-framework-demo
Java | 181 lines | 139 code | 26 blank | 16 comment | 20 complexity | f570ad93e622193e6a4b3cca75eac765 MD5 | raw file
  1. package nmg.demo.activity;
  2. import java.io.File;
  3. import java.io.InputStream;
  4. import nmg.online.util.NMGFileHelper;
  5. import nmg.online.util.NMGHttpHelper;
  6. import android.app.Activity;
  7. import android.os.Bundle;
  8. import android.os.Environment;
  9. import android.util.Log;
  10. import android.view.View;
  11. import android.widget.Button;
  12. import android.widget.Toast;
  13. public class FileHelperActivity extends Activity implements
  14. View.OnClickListener {
  15. // private Intent intent;
  16. private static final String TAG = "DemoFileHelper";
  17. @Override
  18. protected void onCreate(Bundle savedInstanceState) {
  19. super.onCreate(savedInstanceState);
  20. setContentView(R.layout.file_layout);
  21. Log.i(TAG,
  22. "程序数据目录:" + getFilesDir() + " \n SDCard目录路径:"
  23. + Environment.getExternalStorageDirectory()
  24. + "\n 缓存的路径:" + getCacheDir()
  25. + "\n getExternalCacheDir()=" + getExternalCacheDir()
  26. + " \n getExternalFilesDir('abcd')="
  27. + getExternalFilesDir("abcd")
  28. + " \n getDatabasePath('tempdb')="
  29. + getDatabasePath("tempdb"));
  30. init();
  31. }
  32. private void init() {
  33. // TextView textView = (TextView) findViewById(R.id.textView);
  34. Button buttonDelFiles = (Button) findViewById(R.id.buttonDelFiles);
  35. Button buttonSDCardDir = (Button) findViewById(R.id.buttonSDCardDir);
  36. Button buttonFileExist = (Button) findViewById(R.id.buttonFileExist);
  37. Button buttonSaveFile = (Button) findViewById(R.id.buttonSaveFile);
  38. Button buttonCopyFile = (Button) findViewById(R.id.buttonCopyFile);
  39. Button buttonZip = (Button) findViewById(R.id.buttonZip);
  40. Button buttonUzip = (Button) findViewById(R.id.buttonUzip);
  41. Button buttonLen = (Button) findViewById(R.id.buttonLen);
  42. buttonDelFiles.setOnClickListener(this);
  43. buttonSDCardDir.setOnClickListener(this);
  44. buttonFileExist.setOnClickListener(this);
  45. buttonSaveFile.setOnClickListener(this);
  46. buttonCopyFile.setOnClickListener(this);
  47. buttonZip.setOnClickListener(this);
  48. buttonUzip.setOnClickListener(this);
  49. buttonLen.setOnClickListener(this);
  50. }
  51. @Override
  52. public void onClick(View v) {
  53. switch (v.getId()) {
  54. case R.id.buttonDelFiles: // 删除缓存目录下的所有文件及文件夹
  55. String cacheDir = this.getCacheDir().getAbsolutePath();
  56. NMGFileHelper.deleteFiles(cacheDir, true);
  57. Toast.makeText(this, "删除缓存目录下的所有文件及文件夹,操作已经完成:" + cacheDir,Toast.LENGTH_SHORT).show();
  58. break;
  59. case R.id.buttonSDCardDir: // 根据给定的相对路径名,创建sdcard里面的目录:
  60. String dir = "myDir/a/b/c";
  61. String str = NMGFileHelper.createSDCardDir(dir);
  62. if (str.equals("noSDCard")) {
  63. Toast.makeText(this, "对不起,你的设备检测不到SDCard", Toast.LENGTH_SHORT).show();
  64. } else if (str.equals("false")) {
  65. Toast.makeText(this, "对不起,请检查你给的相对路径是否合法:" + dir,Toast.LENGTH_SHORT).show();
  66. } else if (str.equals("true")) {
  67. Toast.makeText(this, "你给的文件夹已经存在sdcard中:" + str,Toast.LENGTH_SHORT).show();
  68. } else {
  69. Toast.makeText(this, "文件夹创建成功,完整路径是:" + str, Toast.LENGTH_SHORT).show();
  70. }
  71. break;
  72. case R.id.buttonFileExist: // 检测是否存在此文件: 1:是检测sdcard
  73. String dir3 = "myDir";
  74. if (NMGFileHelper.isFileExist(this, dir3, 1)) {
  75. Toast.makeText(this, "检测sdcard里面存在此文件:" + dir3,Toast.LENGTH_SHORT).show();
  76. } else {
  77. Toast.makeText(this, "不存在此文件:" + dir3, Toast.LENGTH_SHORT).show();
  78. }
  79. break;
  80. case R.id.buttonSaveFile: // 把输入流(或二进制)保存到SDCard中
  81. String dir4 = "a";
  82. String filename = "file1.txt";
  83. String str4 = null;
  84. // 传输输入流进行文件保存
  85. InputStream is = null;
  86. try {
  87. is = NMGHttpHelper.getConn(("http://emperorgroup.nmg.com.hk/mapi/get_sqlite_db.php")).getInputStream();
  88. // is = HttpUtil.getRequest(
  89. // "http://emperorgroup.nmg.com.hk/mapi/get_sqlite_db.php");
  90. // is = new FileInputStream("/mnt/sdcard/createfile.txt");
  91. str4 = NMGFileHelper.createFile(this, is, dir4, filename, 1);
  92. } catch (Exception e) {
  93. Log.e(TAG, e.toString());
  94. } finally {
  95. if (is != null) {
  96. try {
  97. is.close();
  98. } catch (Exception e) {
  99. Log.e(TAG, e.toString());
  100. }
  101. }
  102. }
  103. // 将二进制字节进行文件保存
  104. // byte[] bytes =
  105. // NMGHttpHelper.getBytes("http://emperorgroup.nmg.com.hk/mapi/get_sqlite_db.php");
  106. // Log.i(TAG,"bytes长度=" + bytes.length);
  107. // String str4 = NMGFileHelper.createFile(this, bytes, dir4,
  108. // filename, 1);
  109. if (!str4.equals("false")) {
  110. Toast.makeText(this, "保存文件到SDCard中成功:" + str4,Toast.LENGTH_SHORT).show();
  111. } else {
  112. Toast.makeText(this, "保存文件到SDCard中失败:" + str4,Toast.LENGTH_SHORT).show();
  113. }
  114. /*
  115. * if(is != null) { try { is.close(); } catch (IOException e) {
  116. * e.printStackTrace(); } }
  117. */
  118. break;
  119. case R.id.buttonCopyFile: // 复制文件
  120. File srcFile = new File("/mnt/sdcard/a/file1.txt");
  121. File desFile = new File("/mnt/sdcard/createfile2.txt");
  122. if (NMGFileHelper.copyFile(srcFile, desFile)) {
  123. Toast.makeText(this, "复制文件成功:" + srcFile.getAbsolutePath(),Toast.LENGTH_SHORT).show();
  124. } else {
  125. Toast.makeText(this, "复制文件失败:" + srcFile.getAbsolutePath(),Toast.LENGTH_SHORT).show();
  126. }
  127. ;
  128. break;
  129. case R.id.buttonZip: // 压缩文件
  130. boolean b = NMGFileHelper.zipFile("/mnt/sdcard/a/file1.txt","/mnt/sdcard/file1zip.zip");
  131. if (b) {
  132. Toast.makeText(this,"压缩文件成功:"+ "/mnt/sdcard/a/file1.txt 压缩成 /mnt/sdcard/file1zip.zip",Toast.LENGTH_SHORT).show();
  133. } else {
  134. Toast.makeText(this,"压缩文件失败:"+ "/mnt/sdcard/a/file1.txt 压缩成 /mnt/sdcard/file1zip.zip",Toast.LENGTH_SHORT).show();
  135. }
  136. break;
  137. case R.id.buttonUzip: // 解压缩文件
  138. boolean b2 = NMGFileHelper.uzipFile("/mnt/sdcard/abc.zip","/mnt/sdcard/a/abc.sqlite");
  139. if (b2) {
  140. Toast.makeText(this,"解压缩文件成功:"+ "/mnt/sdcard/abc.zip 解压缩成 /mnt/sdcard/a/abc.sqlite ",Toast.LENGTH_SHORT).show();
  141. } else {
  142. Toast.makeText(this,"解压缩文件失败:"+ "/mnt/sdcard/abc.zip 解压缩成 /mnt/sdcard/a/abc.sqlite ",Toast.LENGTH_SHORT).show();
  143. }
  144. break;
  145. case R.id.buttonLen:
  146. long i = NMGFileHelper.fileLength("/mnt/sdcard/a/file1.txt");
  147. if(i!=-1){
  148. String filelength = NMGFileHelper.FormetFileSize(i);
  149. Toast.makeText(this,"文件大小=="+filelength,Toast.LENGTH_SHORT).show();
  150. }else{
  151. Toast.makeText(this,"文件不存在",Toast.LENGTH_SHORT).show();
  152. }
  153. }
  154. }
  155. }