Andriod文件的基本操作(转)

1. 文件的基本操作

  File类的相关技巧和操作:文件的创建、重命名和删除,文件夹的创建和删除等操作。

1 package control;

2

3 import java.io.File;

4

5 public class FileUtil {

6     public static final String FILE_NAME = "myfile.txt";

7     public static final String FOlDER_NAME = "NewFolder"+File.separator+"AnotherNewFolder";

8

9 }

1 package control;

2

3 import java.io.File;

4 import java.io.IOException;

5

6 public class CreatFile {

7     public static void main(String[] args) {

8         File file = new File(FileUtil.FILE_NAME);

9         if (!file.exists()) {

10             try {

11                 file.createNewFile();

12                 System.out.println("文件已经创建了");

13             } catch (IOException e) {

14                 e.printStackTrace();

15             }

16         } else {

17             System.out.println("文件已经存在!");

18             System.out.println("文件名为:" + file.getName());

19             System.out.println("文件的绝对路径为:" + file.getAbsolutePath());

20             System.out.println("文件的相对路径为:" + file.getPath());

21

22             System.out.println("文件大小为: " + file.length() + "字节");

23             System.out.println("文件是否可读:" + file.canRead());

24             System.out.println("文件是否可写:" + file.canWrite());

25         }

26     }

27

28 }

1 package control;

2

3 import java.io.File;

4

5 public class RenameFile {

6     public static void main(String[] args) {

7         File file = new File(FileUtil.FILE_NAME);

8         File newFile = new File("anotherFile.txt");

9         file.renameTo(newFile);

10         System.out.println(newFile);

11         System.out.println(file.getName());

12     }

13 }

1 package control;

2

3 import java.io.File;

4

5 public class DeleteFile {

6     public static void main(String[] args) {

7         File file = new File(FileUtil.FILE_NAME);

8         if (file.exists()) {

9             file.delete();

10             System.out.println("文件已经被删除了!");

11         }

12     }

13

14 }

1 package control;

2

3 import java.io.File;

4

5 public class CreatFolder {

6

7     public static void main(String[] args) {

8         File folder = new File(FileUtil.FOlDER_NAME);

9         if (folder.exists() != true) {

10             folder.mkdirs();

11         }

12     }

13 }

1 package control;

2

3 import java.io.File;

4

5 public class RemoveFolder {

6     public static void main(String[] args) {

7         File folder = new File(FileUtil.FOlDER_NAME);

8         if (folder.exists()) {

9             folder.delete();

10         }

11     }

12

13 }

2. 读取Assets中的文件数据

  使用getResources().getAssets().open("filename")获取Assets文件夹中的文件数据流?。Assets文件夹在根目录下。注意使用UTF-8编码。

3. 读取raw目录中的文件数据

  getResources().openRawResource(fileid)方法获取raw文件夹中文件的数据流?。

1 package com.example.readassets;

2

3 import java.io.BufferedReader;

4 import java.io.IOException;

5 import java.io.InputStream;

6 import java.io.InputStreamReader;

7 import java.io.UnsupportedEncodingException;

8

9 import android.app.Activity;

10 import android.content.res.Resources.NotFoundException;

11 import android.os.Bundle;

12 import android.util.Log;

13 import android.view.View;

14

15 public class MainActivity extends Activity {

16

17     private static final String TAG = "ReadAssets";

18     private static final String TAG_RAW = "RawData";

19

20     @Override

21     protected void onCreate(Bundle savedInstanceState) {

22         super.onCreate(savedInstanceState);

23         setContentView(R.layout.activity_main);

24

25         findViewById(R.id.btnReadTxt).setOnClickListener(

26                 new View.OnClickListener() {

27

28                     @Override

29                     public void onClick(View v) {

30                         try {

31                             // InputStream返回的是字节流,因此读取文本文件时,要包装成字符流

32                             InputStream is = getResources().getAssets().open(

33                                     "info.txt");

34                             InputStreamReader isr = new InputStreamReader(is,

35                                     "UTF-8");

36                             BufferedReader bfr = new BufferedReader(isr);

37                             String in = "";

38                             while ((in = bfr.readLine()) != null) {

39                                 Log.i(TAG, in);

40                             }

41                         } catch (IOException e) {

42                             e.printStackTrace();

43                         }

44                     }

45                 });

46

47         findViewById(R.id.btnReadRaw).setOnClickListener(

48                 new View.OnClickListener() {

49

50                     @Override

51                     public void onClick(View v) {

52                         try {

53                             InputStream is = getResources().openRawResource(

54                                     R.raw.info);

55                             InputStreamReader isr = new InputStreamReader(is,

56                                     "UTF-8");

57                             BufferedReader bfr = new BufferedReader(isr);

58                             String inString = "";

59                             while ((inString = bfr.readLine()) != null) {

60                                 Log.i(TAG_RAW, inString);

61                             }

62                         } catch (NotFoundException e) {

63                             // TODO Auto-generated catch block

64                             e.printStackTrace();

65                         } catch (UnsupportedEncodingException e) {

66                             // TODO Auto-generated catch block

67                             e.printStackTrace();

68                         } catch (IOException e) {

69                             // TODO Auto-generated catch block

70                             e.printStackTrace();

71                         }

72

73                     }

74                 });

75     }

76

77 }

1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

2     xmlns:tools="http://schemas.android.com/tools"

3     android:id="@+id/container"

4     android:layout_width="match_parent"

5     android:layout_height="match_parent"

6     tools:context="com.example.readassets.MainActivity"

7     android:orientation="vertical"

8     tools:ignore="MergeRootFrame" >

9

10     <Button

11         android:id="@+id/btnReadTxt"

12         android:layout_width="fill_parent"

13         android:layout_height="wrap_content"

14         android:text="读取TXT数据" />

15

16     <Button

17         android:id="@+id/btnReadRaw"

18         android:layout_width="fill_parent"

19         android:layout_height="wrap_content"

20         android:text="读取RAW数据" />

21

22 </LinearLayout>

4. 读写内部存储的文件数据

  使用openFileOutput()方法获取内部文件的输出流与文件数据的写入,使用openFileInput()获取内部文件的输入流并将数据读取出来。

1 package com.example.readwriteexternaldata;

2

3 import java.io.File;

4 import java.io.FileInputStream;

5 import java.io.FileNotFoundException;

6 import java.io.FileOutputStream;

7 import java.io.IOException;

8 import java.io.InputStreamReader;

9 import java.io.OutputStreamWriter;

10 import java.io.UnsupportedEncodingException;

11

12 import android.app.Activity;

13 import android.os.Bundle;

14 import android.os.Environment;

15 import android.view.View;

16 import android.widget.EditText;

17 import android.widget.TextView;

18 import android.widget.Toast;

19

20 public class MainActivity extends Activity {

21

22     private EditText editText;

23     private TextView txShow;

24     File sdcard = Environment.getExternalStorageDirectory();

25

26     @Override

27     protected void onCreate(Bundle savedInstanceState) {

28         super.onCreate(savedInstanceState);

29         setContentView(R.layout.activity_main);

30

31         editText = (EditText) findViewById(R.id.editText);

32         txShow = (TextView) findViewById(R.id.txShow);

33

34         findViewById(R.id.btnRead).setOnClickListener(new View.OnClickListener() {

35

36             @Override

37             public void onClick(View v) {

38                 File myfile = new File(sdcard, "This is my file.txt");

39                 if (myfile.exists()) {

40                     FileInputStream fis;

41                     try {

42                         fis = new FileInputStream(myfile);

43                         InputStreamReader isr = new InputStreamReader(fis, "UTF-8");

44                         char[] input = new char[fis.available()];

45                         isr.read(input);

46                         isr.close();

47                         fis.close();

48                         String inString = new String(input);

49                         txShow.setText(inString);

50                     } catch (FileNotFoundException e) {

51                         e.printStackTrace();

52                     } catch (UnsupportedEncodingException e) {

53                         e.printStackTrace();

54                     } catch (IOException e) {

55                         e.printStackTrace();

56                     }

57                 }

58             }

59         });

60

61         findViewById(R.id.btnWrite).setOnClickListener(new View.OnClickListener() {

62

63             @Override

64             public void onClick(View v) {

65                 File myfile = new File(sdcard, "This is my file.txt");

66                 //如果手机有sd卡,才执行

67                 if (!sdcard.exists()) {

68                     Toast.makeText(getApplicationContext(), "当前系统不具备SD卡目录", Toast.LENGTH_LONG).show();

69                     return;

70                 }

71                 try {

72                     myfile.createNewFile();

73                     Toast.makeText(getApplicationContext(), "文件创建完成!", Toast.LENGTH_LONG).show();

74                     FileOutputStream fos = new FileOutputStream(myfile);

75                     OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");

76                     osw.write(editText.getText().toString());

77                     osw.flush();

78                     osw.close();

79                     fos.close();

80                     Toast.makeText(getApplicationContext(), "文件写入完成!", Toast.LENGTH_LONG).show();

81

82                 } catch (IOException e) {

83                     e.printStackTrace();

84                 }

85             }

86         });

87

88     }

89

90 }

1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

2     xmlns:tools="http://schemas.android.com/tools"

3     android:id="@+id/container"

4     android:layout_width="match_parent"

5     android:layout_height="match_parent"

6     android:orientation="vertical"

7     tools:context="com.example.readwriteexternaldata.MainActivity"

8     tools:ignore="MergeRootFrame" >

9

10     <EditText

11         android:id="@+id/editText"

12         android:layout_width="fill_parent"

13         android:layout_height="wrap_content"

14         android:text="输入要保存的数据"

15         android:textAppearance="?android:attr/textAppearanceLarge" />

16

17     <Button

18         android:id="@+id/btnWrite"

19         android:layout_width="fill_parent"

20         android:layout_height="wrap_content"

21         android:text="写入数据" />

22

23     <Button

24         android:id="@+id/btnRead"

25         android:layout_width="fill_parent"

26         android:layout_height="wrap_content"

27         android:text="读入数据" />

28

29     <TextView

30         android:id="@+id/txShow"

31         android:layout_width="fill_parent"

32         android:layout_height="wrap_content"

33         android:text="显示读到的数据"

34         android:textAppearance="?android:attr/textAppearanceLarge" />

35

36 </LinearLayout>

5. 读取外部存储的文件数据

  使用Environment.getExternalStorageDirectory()获取系统SD卡路径,并使用File类进行后续的操作。要获得相应的权限。

  点击"写入数据"Button,将上方EditText里面的内容写到文件"This is my file.txt"中;点击"读入数据"Button,将"This is my file.txt"中的内容显示在下面的TextView中。

1 package com.example.readwriteinternaldata;

2

3 import java.io.FileInputStream;

4 import java.io.FileNotFoundException;

5 import java.io.FileOutputStream;

6 import java.io.IOException;

7 import java.io.InputStreamReader;

8 import java.io.OutputStreamWriter;

9 import java.io.UnsupportedEncodingException;

10

11 import android.app.Activity;

12 import android.content.Context;

13 import android.os.Bundle;

14 import android.view.View;

15 import android.widget.EditText;

16 import android.widget.TextView;

17 import android.widget.Toast;

18

19 public class MainActivity extends Activity {

20

21     private String fileName = "test";

22

23     private TextView txShow;

24     private EditText et;

25

26     @Override

27     protected void onCreate(Bundle savedInstanceState) {

28         super.onCreate(savedInstanceState);

29         setContentView(R.layout.activity_main);

30

31         et = (EditText) findViewById(R.id.et);

32         txShow = (TextView) findViewById(R.id.txShow);

33

34         findViewById(R.id.btnWrite).setOnClickListener(new View.OnClickListener() {

35

36             @Override

37             public void onClick(View v) {

38                 try {

39                     FileOutputStream fos = openFileOutput(fileName, Context.MODE_PRIVATE);

40                     OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");

41                     osw.write(et.getText().toString());

42                     //flush可以保证输出缓冲区的内容

43                     //注意关闭顺序

44                     osw.flush();

45                     fos.flush();

46                     osw.close();

47                     fos.close();

48                     Toast.makeText(getApplicationContext(), "写入完成", Toast.LENGTH_LONG).show();

49                 } catch (FileNotFoundException e) {

50                     e.printStackTrace();

51                 } catch (UnsupportedEncodingException e) {

52                     // TODO Auto-generated catch block

53                     e.printStackTrace();

54                 } catch (IOException e) {

55                     // TODO Auto-generated catch block

56                     e.printStackTrace();

57                 }

58             }

59         });

60

61         findViewById(R.id.btnRead).setOnClickListener(new View.OnClickListener() {

62

63             @Override

64             public void onClick(View v) {

65                 try {

66                     FileInputStream fis = openFileInput(fileName);

67                     InputStreamReader is = new InputStreamReader(fis, "UTF-8");

68                     char input[] = new char[fis.available()];

69                     is.read(input);

70                     is.close();

71                     fis.close();

72                     String readed = new String(input);

73                     txShow.setText(readed);

74

75                 } catch (FileNotFoundException e) {

76                     e.printStackTrace();

77                 } catch (UnsupportedEncodingException e) {

78                     // TODO Auto-generated catch block

79                     e.printStackTrace();

80                 } catch (IOException e) {

81                     // TODO Auto-generated catch block

82                     e.printStackTrace();

83                 }

84             }

85         });

86     }

87

88 }

1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

2     xmlns:tools="http://schemas.android.com/tools"

3     android:id="@+id/container"

4     android:layout_width="match_parent"

5     android:layout_height="match_parent"

6     android:orientation="vertical"

7     tools:context="com.example.readwriteinternaldata.MainActivity"

8     tools:ignore="MergeRootFrame" >

9

10     <EditText

11         android:id="@+id/et"

12         android:layout_width="fill_parent"

13         android:layout_height="wrap_content"

14         android:text="在这里输入内容" />

15

16     <Button

17         android:id="@+id/btnWrite"

18         android:layout_width="fill_parent"

19         android:layout_height="wrap_content"

20         android:text="保存数据" />

21

22     <Button

23         android:id="@+id/btnRead"

24         android:layout_width="fill_parent"

25         android:layout_height="wrap_content"

26         android:text="读取数据" />

27

28     <TextView

29         android:id="@+id/txShow"

30         android:layout_width="fill_parent"

31         android:layout_height="wrap_content"

32         android:textAppearance="?android:attr/textAppearanceLarge" />

33

34 </LinearLayout>

1 <?xml version="1.0" encoding="utf-8"?>

2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"

3     package="com.example.readwriteinternaldata"

4     android:versionCode="1"

5     android:versionName="1.0" >

6

7     <uses-sdk

8         android:minSdkVersion="14"

9         android:targetSdkVersion="19" />

10

11     <application

12         android:allowBackup="true"

13         android:icon="@drawable/ic_launcher"

14         android:label="@string/app_name"

15         android:theme="@style/AppTheme" >

16         <activity

17             android:name="com.example.readwriteinternaldata.MainActivity"

18             android:label="@string/app_name" >

19             <intent-filter>

20                 <action android:name="android.intent.action.MAIN" />

21

22                 <category android:name="android.intent.category.LAUNCHER" />

23             </intent-filter>

24         </activity>

25     </application>

26

27 </manifest>

时间: 2024-10-21 01:42:13

Andriod文件的基本操作(转)的相关文章

Linux下文件的基本操作

文件的基本操作 新建和删除文件夹 命令#mkdir /file 在当前目录创建file文件夹 命令#rmdir /file 删除当前目录下file文件夹 复制和移动文件 命令#cp text/file.txt /text1/file1.txt  将text目录下file.txt 复制到text1并更名为file1.txt 命令#mv text/file.txt /text1 将text目录下file.txt复制到text1目录下 查看和创建文件 命令#cat text/file.txt 查看te

目录与文件的基本操作一 (44)

解析目录路径 使用PHP脚本可以方便对目录进行操作,如创建目录.遍历目录.复值目录与删除目录等操作.??常用的文件目录路径格式:??$unixPath="/var/www/html/index.php";//在UNIX系统中的绝对路径,必须使用"/"分隔??$winPath="C:\\Appserv\\www\\index.php";//在Windows系统的绝对路径,默认使用"\"分隔??$winPath2="C:

Windows PowerShell--目录文件的基本操作

Windows PowerShell(一) 目录与文件的基本操作 你可以通过一些命令浏览系统里的目录,创建,移动,删除目录还有文件.目录与文件的操作是使用命令行工具的基础.Windows 用户打开 Powershell ,然后试一下接下来的这些命令. (1)查看你当前的位置  pwd Powershell,还有 终端,在光标的左边默认会显示你当前所在的目录.你也可以使用 pwd ( print working directory )这个命令,查看自己当前所在的位置. C:\Users\Admin

iOS 开发之 - Plist文件的基本操作

plist文件是一个轻量级的数据库,用于存放一些比较小的数据.下面是对plist的基本操作. 新建一个Plist文件 我这里是新建的一个以整体为Array,item是字典的plist文件. 如图: 一般开发中,如果是要操作plist文件的话.都是要把plist文件放到沙盒(Document) 目录下的 先得到资源目录: //得到资源目录(新建的plist文件) - (NSString *)getDataSourcePath:(NSString *) sourceName andType:(NSS

解码,编码,文件的基本操作

5.10自我总结 1.编码解码 1.字符串编码 字符 -------->翻译过程 ------->数字 2.字符串解码 字符 -------->翻译过程 ------->数字 3.编码解码用到的翻译工具 中国:GBK 外国:日本—Shift_JIS,美国ASCII,韩国Euc-kr 国际统一:Unicode进行编写,存取用UTF-8,Unicode与UTF-8为特例他们两个能够相互识别 2.文件的基本操作 1.打开文件 open(r'文件的路径') 默认为只读 完整的路径为绝对路径

HDFS文件的基本操作

HDFS文件的基本操作: package wjn; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; im

python之文件的基本操作

#encoding=utf-8 #author:zhouyu os这个模块是用来对系统文件的一些基本操作的,比较创建文件,修改文件以及删除文件. 一般来说,如果你想获取这个文件的内容或者你想修改文件的信息,就必须要先打开文件. import os   #导入os模块 test_file = 'C:\\test.txt' opentest = open(test_file,'r')  #以只读的形式打开文件 read_test = opentest.read()   #把文件内容储存在opente

python学习---文件的基本操作

对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作: f = open('file.txt','r') #以只读方式打开一个文件,获取文件句柄,如果是读的话,r可以不写,默认就是只读, 在python2中还有file方法可以打开文件,python3中file方法已经没有了,只有open frist_line = f.readline()#获取文件的第一行内容,返回的是一个list print(frist_line)#打印

文件的基本操作二与文件的上传和下载 (45)

访问远程文件 ??如果需要访问远程文件,必须在PHP的配置文件中激活“allow_url_fopen”选项,才能使用fopen( )函数打开运程文件.而且还要确定其他服务器中的文件是否访问权限,如果使用PHP协议对远程文件进行链接,只能以“只读”模式打开.如果需要访问的远程FTP服务器中,对所提供的用户开启了“可写”权限,则使用FTP协议链接远程的文件时,就可以使用“只写”或“只读”模式打开文件.但不可以使用“可读可写”的模式.??使用PHP访问远程文件就像访问本地文件一样,都是使用相同的读写函