`
李光正
  • 浏览: 28797 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android 读取文件内容操作

阅读更多

android 读取文件内容操作

Android系统中,这些文件保存在 /data/data/PACKAGE_NAME/files 目录下。 

数据读取 

view plaincopy to clipboardprint? 
public static String read(Context context, String file) { 
String data = ""; 
try { 
FileInputStream stream = context.openFileInput(file); 
StringBuffer sb = new StringBuffer(); 
int c; 
while ((c = stream.read()) != -1) { 
sb.append((char) c); 
} 
stream.close(); 
data = sb.toString(); 

} catch (FileNotFoundException e) { 
} catch (IOException e) { 
} 
return data; 
} 
public static String read(Context context, String file) { 
String data = ""; 
try { 
FileInputStream stream = context.openFileInput(file); 
StringBuffer sb = new StringBuffer(); 
int c; 
while ((c = stream.read()) != -1) { 
sb.append((char) c); 
} 
stream.close(); 
data = sb.toString(); 

} catch (FileNotFoundException e) { 
} catch (IOException e) { 
} 
return data; 
} 

从代码上,看起来唯一的不同就是文件的打开方式了: context.openFileInput(file); Android中的文件读写具有权限控制,所以使用context(Activity的父类)来打开文件,文件在相同的Package中共享。这里的 Package的概念同Preferences中所述的Package,不同于Java中的Package 

数据写入 

view plaincopy to clipboardprint? 
public static void write(Context context, String file, String msg) { 
try { 
FileOutputStream stream = context.openFileOutput(file, 
Context.MODE_WORLD_WRITEABLE); 
stream.write(msg.getBytes()); 
stream.flush(); 
stream.close(); 
} catch (FileNotFoundException e) { 
} catch (IOException e) { 
} 
} 
public static void write(Context context, String file, String msg) { 
try { 
FileOutputStream stream = context.openFileOutput(file, 
Context.MODE_WORLD_WRITEABLE); 
stream.write(msg.getBytes()); 
stream.flush(); 
stream.close(); 
} catch (FileNotFoundException e) { 
} catch (IOException e) { 
} 
} 

在这里打开文件的时候,声明了文件打开的方式。 

一般来说,直接使用文件可能不太好用,尤其是,我们想要存放一些琐碎的数据,那么要生成一些琐碎的文件,或者在同一文件中定义一下格式。其实也可以将其包装成Properties来使用: 

view plaincopy to clipboardprint? 
public static Properties load(Context context, String file) { 
Properties properties = new Properties(); 
try { 
FileInputStream stream = context.openFileInput(file); 
properties.load(stream); 
} catch (FileNotFoundException e) { 
} catch (IOException e) { 
} 
return properties; 
} 

public static void store(Context context, String file, Properties properties) { 
try { 
FileOutputStream stream = context.openFileOutput(file, 
Context.MODE_WORLD_WRITEABLE); 
properties.store(stream, ""); 
} catch (FileNotFoundException e) { 
} catch (IOException e) { 
} 
}

 

 

 

android 读取文件内容操作2

 

读:
public String ReadSettings(Context context){ 
      FileInputStream fIn = null; 
      InputStreamReader isr = null; 
      
      char[] inputBuffer = new char[255]; 
      String data = null; 
      
      try{ 
       fIn = openFileInput("settings.dat");       
          isr = new InputStreamReader(fIn); 
          isr.read(inputBuffer); 
          data = new String(inputBuffer); 
          Toast.makeText(context, "Settings read",Toast.LENGTH_SHORT).show(); 
          } 
          catch (Exception e) {       
          e.printStackTrace(); 
          Toast.makeText(context, "Settings not read",Toast.LENGTH_SHORT).show(); 
          } 
          finally { 
             try { 
                    isr.close(); 
                    fIn.close(); 
                    } catch (IOException e) { 
                    e.printStackTrace(); 
                    } 
          } 
          return data; 
     } 

写:
    public void WriteSettings(Context context, String data){ 
      FileOutputStream fOut = null; 
      OutputStreamWriter osw = null; 
      
      try{ 
       fOut = openFileOutput("settings.dat",MODE_PRIVATE);       
          osw = new OutputStreamWriter(fOut); 
          osw.write(data); 
          osw.flush(); 
          Toast.makeText(context, "Settings saved",Toast.LENGTH_SHORT).show(); 
          } 
          catch (Exception e) {       
          e.printStackTrace(); 
          Toast.makeText(context, "Settings not saved",Toast.LENGTH_SHORT).show(); 
          } 
          finally { 
             try { 
                    osw.close(); 
                    fOut.close(); 
                    } catch (IOException e) { 
                    e.printStackTrace(); 
                    } 
          } 
     }

使用方法:
WriteSettings(this,"setting0, setting1, setting2");
String data[] = ReadSettings(this).split(",");

分享到:
评论

相关推荐

    android读取文件内容操作.pdf

    总结以上知识点,Android平台文件操作主要包括以下几个方面: 1. 使用Context的openFileInput和openFileOutput方法,分别进行文件的读取和写入操作。 2. 利用FileInputStream和FileOutputStream处理文件的输入输出...

    android 读取文件内容操作.doc

    在Android系统中,读取文件内容是应用程序中常见的操作,特别是在处理用户数据、配置文件或本地存储的游戏进度等场景。本文将详细介绍如何在Android环境下读取文件内容,以及相关的权限控制和数据写入方法。 首先,...

    Android 读写文件实例

    在开始文件操作之前,必须在AndroidManifest.xml文件中声明相应的权限,特别是对于读写外部存储(SD卡): ```xml <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> ...

    Android 文件读写操作

    在Android系统中,文件读写操作是开发过程中常见的任务,涉及到资源文件、数据区文件以及外部存储(如SD卡)的访问。以下是对这些操作的详细说明: 一、资源文件的读取 1. 从resource的raw中读取文件数据: 资源...

    Android读写配置文件

    除了SharedPreferences,Android也支持更复杂的文件操作,例如使用File类直接操作XML或JSON文件。这适用于需要存储大量结构化数据或自定义格式的情况。 1. **创建和写入XML文件**: - 使用`FileOutputStream`或`...

    android 内存 文件读写操作

    在Android系统中,进行文件的...总结来说,Android的文件操作涉及到`Environment`类的使用、文件对象的创建、文件的读写以及权限管理等多个方面。开发者需要熟悉这些概念和方法,以便在实际项目中高效地处理文件数据。

    Android读取本地json文件的方法(解决显示乱码问题)

    - **Android文件操作**:Android提供了多种文件操作方法,包括读写文件、文件流操作等。 - **SD卡操作**:Android允许应用在外部存储(如SD卡)上进行文件操作,但需要注意权限问题。 - **Android视图View和控件**:...

    Android 实现读写U盘文件

    这个工具类只是一个基础框架,你可能需要根据具体需求进行扩展,例如支持多文件操作、目录操作、文件流操作等。同时,为了优化用户体验,你还可以添加进度条显示文件传输的进度,或者使用异步任务来避免阻塞UI线程。...

    android文件读写权限

    在Android应用开发中,文件读写权限是至关重要的一个环节,因为这关乎到应用程序能否正常地存储和访问数据。Android操作系统采用严格的权限管理系统,确保应用只能在其被授权的范围内操作。下面将详细介绍Android中...

    android txt文件保存读取操作

    测试不同的设备和Android版本,确保文件操作的兼容性。注意在Android 10(API级别29)之后,外部存储的访问方式有所改变,需要使用`getExternalFilesDir()`或`getExternalCacheDir()`方法来获取特定应用的外部存储...

    Android平台的txt文本文件读写操作

    - **异常处理**:由于文件操作可能遇到各种异常情况(如文件不存在、权限不足等),因此编写代码时应加入适当的异常处理逻辑。 - **资源释放**:在完成文件读写操作后,应及时调用`close()`方法关闭文件流,以释放...

    Android NDK文件读取 读写 操作 NDK数据加密DEMO

    Android jni文件读写 NDK文件读取 读写 操作 NDK数据加密DEMO 源码直接上传,运行在android6.0系统测试通过

    android项目中读取ini配置文件

    - 如果`ini`文件需要频繁修改,考虑使用SQLite数据库或者SharedPreferences存储,因为它们提供了更完善的读写操作。 7. **测试与调试** 在实际项目中,可以通过编写单元测试或者集成测试来确保ini文件读取和解析...

    java android 读取dat文件

    2. **Android读取.dat文件** 在Android中,读取文件的操作与Java略有不同,因为Android对文件访问有更严格的限制。一般情况下,你需要使用`AssetManager`(对于预打包的文件)或`Context`的方法(如`openFileInput()...

    android读取Excel文件(Android studio开发环境)

    综上所述,要在Android Studio中读取Excel文件,你需要理解Android的文件操作、线程管理以及如何利用Apache POI解析Excel。通过这些技术,你可以在Android应用中灵活地处理Excel数据,满足各种业务需求。

    Android Studio文本文件内容读取例子(不用sd卡)

    在Android开发中,读取文本文件是常见的任务,例如加载配置信息、用户数据或显示静态内容。本示例将详细讲解如何在Android Studio中实现不依赖SD卡的文本文件读取。以下是一个简单的步骤和相关知识点: 1. **创建...

    android 读取ppt文件

    在Android平台上,读取PPT(PowerPoint)文件是一个相对复杂的过程,因为原生的Android SDK并不直接支持这种操作。通常,我们需要借助第三方库或服务来实现这一功能。本篇文章将详细探讨如何在Android应用中读取PPT...

    android开发之文件操作——文件创建和文件读取

    在Android开发中,文件操作是不可或缺的一部分,无论是存储用户数据、日志信息还是应用程序的状态,都需要对文件进行创建、读取、写入等操作。本项目"android开发之文件操作——文件创建和文件读取"提供了相关的代码...

    android读取文件

    "android读取文件"是一个常见的需求,尤其在处理应用内的文本、图片、音频或其他二进制数据时。本篇文章将深入探讨如何在Android中读取不同来源的文件,特别是使用Assets目录。 首先,Android提供了多种方式来读取...

Global site tag (gtag.js) - Google Analytics