首页 > 代码库 > android IO流操作文件(存储和读取)

android IO流操作文件(存储和读取)

存储文件:

public class FileOperate extends Activity {    private static final String FILENAME = "mydata.txt" ;// 设置文件名称    private static final String DIR = "ljpdata" ;        @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        super.setContentView(R.layout.main);                // 调用布局文件        if(Environment.getExternalStorageState().equals(                Environment.MEDIA_MOUNTED)){                // 如果sdcard存在            File file = new File(Environment                    .getExternalStorageDirectory().toString()                    + File.separator                    + DIR + File.separator + FILENAME) ;    // 定义File类对象            if (! file.getParentFile().exists()) {            // 父文件夹不存在                file.getParentFile().mkdirs() ;             // 创建文件夹             }            PrintStream out = null ;                        // 打印流对象用于输出            try {                out = new PrintStream(new FileOutputStream(file, true));    // 追加文件                out.println("山东大学软件学院(SDU,www.sdu.edu.cn),讲师:学生");            } catch (Exception e) {                e.printStackTrace();            } finally {                if (out != null) {                    out.close() ;                            // 关闭打印流                }            }        } else {    // SDCard不存在,使用Toast提示用户            Toast.makeText(this, "保存失败,SD卡不存在!",Toast.LENGTH_LONG).show();        }    }}

读取文件:

public class FileOperate extends Activity {    private static final String FILENAME = "mydata.txt" ;    // 设置文件名称    private static final String DIR = "ljpdata" ;            // 设置保存文件夹    private TextView msg = null ;                            // 文本显示    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        super.setContentView(R.layout.main);                // 调用布局文件        this.msg = (TextView) super.findViewById(R.id.msg) ;        if(Environment.getExternalStorageState().equals(                Environment.MEDIA_MOUNTED)){                // 如果sdcard存在            File file = new File(Environment                    .getExternalStorageDirectory().toString()                    + File.separator                    + DIR + File.separator + FILENAME) ;    // 定义File类对象            if (! file.getParentFile().exists()) {            // 父文件夹不存在                file.getParentFile().mkdirs() ;             // 创建文件夹             }            Scanner scan = null ;                            // 扫描输入            try {                scan = new Scanner(new FileInputStream(file)) ;    // 实例化Scanner                while(scan.hasNext()){                            // 循环读取                    this.msg.append(scan.next() + "") ;        // 设置文本                }            } catch (Exception e) {                e.printStackTrace();            } finally {                if (scan != null) {                    scan.close() ;                            // 关闭打印流                }            }        } else {    // SDCard不存在,使用Toast提示用户            Toast.makeText(this, "读取失败,SD卡不存在!",Toast.LENGTH_LONG).show();        }    }}

Android将图像转换成流存储与将流转换成图像

//take the image to byte[]byte[] byteIcon = userIcon;//将字节数组即头像从二进制流转换成drawableif(byteIcon != null){  ByteArrayInputStream bais = new ByteArrayInputStream(byteIcon);   userIconDrawable = Drawable.createFromStream(bais, "image");}
BitMap userIcon;//将bitmap转换成drawableByteArrayOutputStream os = new ByteArrayOutputStream();//参数1转换类型,参数2压缩质量,参数3字节流资源        userIcon.compress(CompressFormat.PNG, 100, os);//将Drawable 转成bitmapBitmapDrawable tempDrawable = (BitmapDrawable) DrawableImage;tempDrawable.getBitmap();

 

android IO流操作文件(存储和读取)