package com.h3c.test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import android.app.Activity; import android.content.Context; import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.AssetFileDescriptor; import android.net.Uri; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class NotepadTestActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.notepad); Button button = (Button) findViewById(R.id.notepad); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { try { // 直接读文件 // InputStream is = getContentResolver().openInputStream( // Uri.parse("file:/mnt/sdcard/h3c.txt")); // // File bkFile = new File("/mnt/sdcard/h3c2.txt"); // if (!bkFile.exists()) { // bkFile.createNewFile(); // } // // FileOutputStream out = new FileOutputStream(bkFile); // byte[] b = new byte[1024 * 5]; // 5KB // int len; // while ((len = is.read(b)) != -1) { // out.write(b, 0, len); // } // out.flush(); // is.close(); // out.close(); // 直接写文件 // OutputStream out = getContentResolver().openOutputStream( // Uri.parse("file:/mnt/sdcard/h3c.txt")); // FileInputStream in = new FileInputStream(new File( // "/mnt/sdcard/h3c3.txt")); // // byte[] b = new byte[1024 * 5]; // 5KB // int len; // while ((len = in.read(b)) != -1) { // out.write(b, 0, len); // } // out.flush(); // // in.close(); // out.close(); // 内容流写 // AssetFileDescriptor afd = getContentResolver() // .openAssetFileDescriptor( // Uri.parse("content://com.h3c.test/h3c.txt"), // "wr"); // InputStream in = afd.createInputStream(); // File bkFile = new File("/mnt/sdcard/h3c2.txt"); // if (!bkFile.exists()) { // bkFile.createNewFile(); // } // // FileOutputStream out = new FileOutputStream(bkFile); // byte[] b = new byte[1024 * 5]; // 5KB // int len; // while ((len = in.read(b)) != -1) { // out.write(b, 0, len); // } // out.flush(); // in.close(); // out.close(); // 内容流读 AssetFileDescriptor afd = getContentResolver() .openAssetFileDescriptor( Uri.parse("content://com.h3c.test/h3c.txt"), "wr"); OutputStream out = afd.createOutputStream(); FileInputStream in = new FileInputStream(new File( "/mnt/sdcard/h3c2.txt")); byte[] b = new byte[1024 * 5]; // 5KB int len; while ((len = in.read(b)) != -1) { out.write(b, 0, len); } out.flush(); in.close(); out.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }); } }
Android通过ContentProvider传输文件
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:http://www.heiqu.com/866813bdad71cc76cc99d7e3bc0f3f2a.html