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.     }  
  • 相关阅读:
    Win10 UWP Tile Generator
    Win10 BackgroundTask
    UWP Tiles
    UWP Ad
    Win10 build package error collections
    Win10 八步打通 Nuget 发布打包
    Win10 UI入门 pivot multiable DataTemplate
    Win10 UI入门 导航滑动条 求UWP工作
    UWP Control Toolkit Collections 求UWP工作
    Win10 UI入门 SliderRectangle
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/7463973.html
Copyright © 2011-2022 走看看