zoukankan      html  css  js  c++  java
  • Androlid入门之文件系统操作(三)文件读写

         

    1. import java.io.*;  
    2.   
    3. import android.app.Activity;  
    4. import android.os.Bundle;  
    5. import android.view.View;  
    6. import android.view.View.OnClickListener;  
    7. import android.widget.*;  
    8.   
    9. public class FileIOTest extends Activity {  
    10.      
    11.     private LinearLayout mainView=null;  
    12.     private Button writeButton=null;  
    13.     private Button readButton=null;  
    14.     private TextView tv=null;  
    15.       
    16.     public void onCreate(Bundle savedInstanceState) {  
    17.         super.onCreate(savedInstanceState);  
    18.         writeButton=new Button(this);  
    19.         writeButton.setText("文件写入");  
    20.         writeButton.setOnClickListener(new OnClickListener(){  
    21.             public void onClick(View v) {  
    22.                 fileWrite();  
    23.             }  
    24.         });  
    25.         readButton=new Button(this);  
    26.         readButton.setEnabled(false);  
    27.         readButton.setText("文件读出");  
    28.         readButton.setOnClickListener(new OnClickListener(){  
    29.             public void onClick(View v) {  
    30.                 fileRead();  
    31.             }  
    32.         });  
    33.         tv=new TextView(this);  
    34.         tv.setText("这里显示读出结果");  
    35.         mainView=new LinearLayout(this);  
    36.         mainView.setOrientation(LinearLayout.VERTICAL);  
    37.         mainView.addView(writeButton);  
    38.         mainView.addView(readButton);  
    39.         mainView.addView(tv);  
    40.         setContentView(mainView);  
    41.     }  
    42.     /*文件写*/  
    43.     void fileWrite(){  
    44.         //File file=this.getFilesDir();//打开私有目录  
    45.         File file=new File("/sdcard");  
    46.         String path=file.getAbsolutePath();//获取路径  
    47.         String name="mydata1.dat";//新建文件名  
    48.         File filex=new File(path,name);  
    49.         //如果文件不存在,则创建一个文件  
    50.         if(!filex.exists()){  
    51.             try {  
    52.                 filex.createNewFile();  
    53.             } catch (IOException e) {  
    54.                 e.printStackTrace();  
    55.             }  
    56.         }  
    57.         //获取文件输出流  
    58.         FileOutputStream fos=null;  
    59.         try {  
    60.             fos=new FileOutputStream(filex);  
    61.             byte buf[]="Hello,这是Android入门之文件操作(三)文件读写!".getBytes();  
    62.             //上面涉及到字符串转字符,为了保证编码正常,建议采用下面的方法  
    63.             //ByteArrayOutputStream baos=new ByteArrayOutputStream();  
    64.             //DataOutputStream dos=new DataOutputStream(baos);  
    65.             //try {dos.writeUTF("XXXXXXXXXXXXXXXXX");catch (IOException e1) {e1.printStackTrace();}  
    66.             //byte[] buf=baos.toByteArray();  
    67.             try {  
    68.                 fos.write(buf);//全面覆盖式的写,如果要添加或者修改,得把原来的先读出来再做处理  
    69.                 fos.close();  
    70.             } catch (IOException e) {  
    71.                 e.printStackTrace();  
    72.             }  
    73.         } catch (FileNotFoundException e) {  
    74.             e.printStackTrace();  
    75.         }  
    76.         readButton.setEnabled(true);  
    77.     }  
    78.     /*文写读*/  
    79.     void fileRead(){  
    80.         //File file=this.getFilesDir();//打开私有目录  
    81.         File file=new File("/sdcard");  
    82.         String path=file.getAbsolutePath();//获取路径  
    83.         String name="mydata1.dat";//新建文件名  
    84.         File filex=new File(path,name);  
    85.         //  
    86.         try {  
    87.             FileInputStream fis=new FileInputStream(filex);  
    88.             byte buf[]=new byte[1024];  
    89.             try {  
    90.                 int len=fis.read(buf);  
    91.                 fis.close();  
    92.             } catch (IOException e) {  
    93.                 e.printStackTrace();  
    94.             }  
    95.             //显示读取结果  
    96.             tv.setText(new String(buf));  
    97.             //上面涉及字符转字符串,为了保证编码正常,建议采用下面的方法  
    98.             //ByteArrayInputStream bais=new ByteArrayInputStream(buf);  
    99.             //DataInputStream dis=new DataInputStream(bais);  
    100.             //try {tv.setText(dis.readUTF());} catch (IOException e) {e.printStackTrace();}  
    101.         } catch (FileNotFoundException e) {  
    102.             e.printStackTrace();  
    103.         }  
    104.     }  
  • 相关阅读:
    【leetcode】496. Next Greater Element I
    工具网站
    [err]Traceback (most recent call last): File "/usr/local/bin/pip", line 7, in <module> from pip._internal import main ImportError: No module named 'pip._internal'
    []TLD code run
    【动手学深度学习】
    【论文阅读】Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks
    【linux基础】ubuntu系统NVIDIA驱动安装
    【linux基础】linux不能进入系统
    【leetcode】492. Construct the Rectangle
    【leetcode】485. Max Consecutive Ones
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/7463973.html
Copyright © 2011-2022 走看看