android 关于输入输出流一些使用

 try {
            FileInputStream  fis=new FileInputStream("test.txt");
            int n=fis.read();   //输入流中读取一个数据字节
            Log.i("test",(char)n+"---");
            while (n!=-1){
                Log.i("test",(char)n+"---");
                n=fis.read();
            }
            fis.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

        try {
            FileInputStream  fis1=new FileInputStream("test.txt");
            byte[] bytes =new byte[100];
            fis1.read(bytes);        // 从输入流中将最多b.length哥字节的数据读入第一个byte数组中;

            //fis1.read(bytes,0,6);      //从输入流中将最多len个字节的数据读入byte数组中;

            Log.i("test",new String(bytes)+"---");

            fis1.close();
        } catch (Exception e) {
            e.printStackTrace();
        }



        try {

            FileOutputStream  fos=new FileOutputStream("test.txt",true);  //true   写入追加
            fos.write(50);
            fos.write('a');
            fos.close();

            Log.i("test","---");

        } catch (Exception e) {
            e.printStackTrace();
        }



        // 文件拷贝
        try {
          FileInputStream  fis=new FileInputStream("HAPPY.JPG");
          FileOutputStream fos=new FileOutputStream("HAPPYCOPY.JPG");
          int n=0;
          byte[] b=new byte[1024];
          while ((n=fis.read(b))!=-1){
              fos.write(b);
              fos.write(b,0,n);  //保证两个文件大小相同
          }
          fis.close();
          fos.close();

            Log.i("test","---");

        } catch (Exception e) {
            e.printStackTrace();
        }

        // 缓冲流
        try {

            FileOutputStream fos=new FileOutputStream("test3.txt");
            BufferedOutputStream bos=new BufferedOutputStream(fos);
            bos.write(50);
            bos.write('a');
            bos.flush();   //缓冲区未满,不会主动清空
            bos.close();



            FileInputStream in=new FileInputStream("test.txt");
            BufferedInputStream bis=new BufferedInputStream(in);
            //byte[] b=new byte[1024];
            bis.read();
          Log.i("test",(char)bis.read()+"----");

          bos.close();
          bis.close();
          in.close();
          bis.close();

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

你可能感兴趣的:(android 关于输入输出流一些使用)