`
龙哥IT
  • 浏览: 258890 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

把数据写入到文件或者读取文件内容

 
阅读更多
首先写读取和写入的两个方法
static public String ReadActivityFile(Context aContext, String aFile) {
		String buffer="";
		FileInputStream in2;
			try {
				in2 = aContext.openFileInput(aFile);
				
				InputStreamReader inReader = new InputStreamReader(in2);
				int buf= 1024;
				BufferedReader line = new BufferedReader(inReader,buf);
				String tmpBuffer = "";
					while ((tmpBuffer = line.readLine()) != null) {
						buffer += tmpBuffer;
					}
				line.close();
				inReader.close();
				in2.close();
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
		return buffer;
	}

	static public void WriteActivityFile(Context aContext, String aFile,
			String aBuffer) {
		try {
			FileOutputStream os = aContext.openFileOutput(aFile,
					Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);
			OutputStreamWriter outWriter = new OutputStreamWriter(os);

			outWriter.write(aBuffer, 0, aBuffer.length());
			outWriter.flush();
			outWriter.close();
			os.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

 然后在需要用的地方调用就行了,把需要的参数完成:

读取:

	String buffer = "";
					buffer = FileUtils.ReadActivityFile(ScoreActivity.this,
							common.FAVORITE_DATA_FILE);

 写入:

FileUtils.WriteActivityFile(ScoreActivity.this,
								common.FAVORITE_DATA_FILE, buffer);

 

 

下面的一个例子是:点击一次,把这条数据保存到文件里面,然后再点击一次,又取消保存,就是从文件删除:

LinearLayout ly = (LinearLayout) layout
					.findViewById(R.id.linear_score_choise);
			ly.setOnClickListener(new OnClickListener() {
				public void onClick(View arg0) {

					String buffer = "";
					buffer = FileUtils.ReadActivityFile(ScoreActivity.this,
							common.FAVORITE_DATA_FILE);
					boolean isFileBlank = false;
					if (buffer.length() <= 0) {
						// 如果buffer为空,则为true;
						isFileBlank = true;
					}
					boolean has_fav = false;
					// 如果buffer不为空
					if (!isFileBlank) {
						// 解析到集合中
						Vector fav_list = CommonUtil.Split(buffer, ",");
						buffer = "";// buffer初始化

						for (int i = 0; i < fav_list.size(); i++) {
							String fav_id = (String) fav_list.elementAt(i);
							// System.out.println(fav_id);
							if (fav_id.equals(mId)) {
								has_fav = true;
								continue;
							}
							if (fav_id.length() <= 0) {
								continue;
							}
							buffer += fav_id;
							if (i != fav_list.size() - 1) {
								buffer += ",";
							}
						}
					}
					if (buffer.length() > 0
							&& buffer.charAt(buffer.length() - 1) == ',') {
						buffer = buffer.substring(0, buffer.length() - 1);
					}
					if (has_fav) {
						// 取消关注
						imageView.setImageResource(R.drawable.gray_star);
						Toast.makeText(ScoreActivity.this, "该场关注已取消!",
								Toast.LENGTH_SHORT).show();
						FileUtils.WriteActivityFile(ScoreActivity.this,
								common.FAVORITE_DATA_FILE, buffer);
					} else {
						// 关注
						if (!isFileBlank) {// 如果buffer有数据
							buffer += ",";
						}
						buffer += mId;
						imageView.setImageResource(R.drawable.yellow_star);
						Toast.makeText(ScoreActivity.this, "该场比赛已成功关注!",
								Toast.LENGTH_SHORT).show();
						FileUtils.WriteActivityFile(ScoreActivity.this,
								common.FAVORITE_DATA_FILE, buffer);
					}
				}
			});

 

分享到:
评论

相关推荐

    java读取csv文件并将读取的数据写入新生成的csv文件

    在我们需求中需要读取一个csv文件的数据,但是只有旧的csv的几列数据再新写入一个csv文件,而且在旧的数据有空的数据,需要判断旧的csv的空值。可能写的存在不完善!但是应用的需求里面还是能用的

    EasyExcel 并发读取文件字段并进行校验,数据写入到新文件,批量插入数据到数据库

    下面我们将详细探讨如何使用EasyExcel实现并发读取文件字段、进行数据校验、将数据写入新文件以及批量插入到数据库的操作。 1. **EasyExcel介绍** EasyExcel是一款轻量级的Java Excel处理框架,它基于NIO和内存...

    QT+VS实现动态将数据写入到txt文件

    4. **数据写入**: 要将数据写入文件,可以使用`QTextStream`类。例如: ```cpp QTextStream out(&file); out 这是一行数据" ; ``` 这将在文件中写入指定的字符串。若需逐行写入,可以用换行符`\n`分隔。 5. **...

    QT写入文件与读取文件内容

    3. **写入数据**:使用`QFile`的成员函数`write()`可以将数据写入文件。数据可以是字符串(转换为`QByteArray`),也可以是二进制数据。例如: ```cpp QString content = "Hello, QT!"; file.write(content.to...

    Java写入大数据文件

    sqlitFileDate方法使用FileReader和BufferedReader来读取大数据文件,并使用LinkedList来存储文件流对象和BufferedWriter对象,然后将每个小文件的数据写入到对应的文件中。 在写入和切分文件操作完成后,程序使用...

    C语言读取和写入dat文件

    在C语言中,读取和写入数据文件是常见的任务,尤其当涉及到处理特定格式的文件,如dat文件时。dat文件通常被用作自定义数据存储,它们没有固定的文件结构,可以包含任何类型的数据。本教程将深入探讨如何使用C语言对...

    C语言读取文件数据,写入内存

    C语言通过文件流(file stream)的概念来操作这些字节,允许我们读取或写入文件内容。 要读取文件,我们需要打开它。C语言提供了`fopen()`函数,用于打开一个文件并返回一个文件指针。例如: ```c FILE *fp = ...

    c++对txt文件的读取与写入源代码

    无论是简单的文本文件还是复杂的数据文件,正确地读取和写入数据都是软件开发的基础之一。本文将详细介绍如何使用C++进行TXT文件的读取与写入,并通过具体的代码示例来加深理解。 #### 二、基本概念 在讨论具体的...

    C#通过流写入数据到文件的方法

    本篇将深入探讨如何使用C#通过流来写入数据到文件,以及涉及到的字节流读写文件的技巧。 首先,我们来看一个简单的例子,这个例子展示了如何使用FileStream和StreamWriter类来写入文本数据到文件。以下代码创建了一...

    把二进制文件中的数据读出,并写入到一个txt文件中去

    要实现这个操作,我们需要使用C++的标准库,特别是`fstream`库,它提供了读写文件的功能。下面是一步步的详细步骤: 1. **打开二进制文件**: 使用`ifstream`类来打开二进制文件。通过调用`open()`函数并传入文件...

    基于LabVIEW的CSV格式文件的写入

    3. **数据写入**:使用“写入文件”函数,将准备好的字符串数据写入到CSV文件中。由于CSV文件是以逗号分隔数据,因此每个数据项之间应以逗号作为间隔。如果数据本身包含逗号,可以考虑使用引号进行包围,以避免解析...

    Codesys读取和写入CSV数据源程序

    codesys通过文件写入功能块是实现对CSV文件数据的写入 a、数组数据处理,将需要的数据转换成CSV需要的字符序列; b、通过SysFileOpen指令打开文件; c、通过SysFileSetPos设置开始写入的位置,一般设置偏移量为0,全...

    学习张孝祥的向文件中写入数据和读取数据

    总结来说,RandomAccessFile是Java中用于高效处理文件的强大工具,它提供了一种灵活的方式来读取和写入文件,尤其适用于需要频繁定位和修改文件内容的情况。通过张孝祥的讲解,学习者可以更深入地理解这个类的使用,...

    LabVIEW的写入测量文件

     写入测量文件Express VI将数据写入基于文本或二进制的测量文件。输入和输出接线端说明如下。  DAQmx任务:指定用于在对话框“配置用户定义属性→DAQmx属性”生成数据的DAQmx任务。  错误输入(无错误):描述...

    将波形数据写入文件,然后读取出来显示波形图形

    将波形数据写入文件,然后读取出来显示波形图形。

    QT 文件读取和写入

    文件读取同样涉及到几个关键步骤: - **创建文件对象**:与写入类似,使用`QFile`类创建一个文件对象。 - **打开文件**:这次是采用只读模式`QIODevice::ReadOnly`和文本模式`QIODevice::Text`。 - **使用流进行读取...

    LabVIEW的写入二进制文件

    “写入二进制文件”位于函数选板的“编程→文件I/O一写入二进制文件”,图标和接线端如图1所示。  输入和输出接线端的说明如下。  prepend arrav Or string slze?... data:数据,待写入文件的

    读取文件数据并解析成不同数据类型,然后写入磁盘文件。附加功能:对字符串以逗号分割成字段,字段内含逗号

    它可能包含`BufferedReader`和`BufferedWriter`等IO流的使用,用于高效地从文件读取数据和向文件写入数据。读取文件时,`BufferedReader`通常用于逐行读取,然后通过诸如`String.split()`方法来解析数据,将其转化为...

    LabVIEW 写入与读取配置文件

    2. .xml 文件读取:通过"Load XML Document"函数加载.xml文件,然后使用"Find Node"或"Get Child Nodes"找到所需的数据节点,再用"Get Node Value"提取信息。 四、实际应用示例 在实际项目中,可能需要在程序启动...

    C#实现DXF文件读取写入

    3. **写入段**:按照DXF格式的顺序,将数据结构转化为文本或二进制数据并写入文件。 4. **写入实体**:逐一将图形实体写入文件,确保遵循DXF文件的标准格式。 5. **关闭文件**:完成写入后,使用`Close`方法关闭文件...

Global site tag (gtag.js) - Google Analytics