我有一个列表字符串:
abc
def
xyz
我正在编写代码,通过单击按钮将每个字符串(从第一行到最后一行)插入到文件中。这意味着我需要在按钮上单击三次以将所有字符串插入到文件中。之后,我有其他按钮将数据显示到gridview。 gridview的每一行对应于每个字符串,例如
1. abc (1. is just index of gridview row)
2. def
3. xyz
对于我的任务,我想通过使用android找到一个简单的解决方案。我知道我们可以将它保存在sql或文本文件中。什么是我的任务更简单的解决方案?对于保存在文本文件中,如何区分文件中的两个字符串?如果有可能,你能给我代码吗?谢谢
这是我的wring文本文件的解决方案
String filepath = Environment.getExternalStorageDirectory().getPath();
String filename=filepath+"/" + FOLDER + "/" + "list.txt" ;
FileOutputStream fop = null;
File file = null;
try {
file =new File(filename);
fop=new FileOutputStream(file,true);
// if file doesn't exists, then create it
if (!file.exists()) {
file.createNewFile();
}
// get the content in bytes
byte[] contentInBytes = filecontent.getBytes();
fop.write(contentInBytes);
fop.flush();
fop.close();
} catch (IOException e) {
e.printStackTrace();
}
但是,输出为abcdefxyz
。对它们进行分类非常困难。
答案 0 :(得分:1)
好吧,如果你有
string[] items={abc,def,xyz};
写入档案
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(openFileOutput("filename.txt", Context.MODE_PRIVATE));
for(String data : items)
{
outputStreamWriter.write(data);
}
outputStreamWriter.close();
从文件中读取
InputStream inputStream = openFileInput("filename.txt");
if ( inputStream != null ) {
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String receiveString = "";
ArrayList<String> data = new ArrayList<String>();
while ( (receiveString = bufferedReader.readLine()) != null ) {
data.Add(receiveString);
}
inputStream.close();
Grid View Adpater中的使用data
ArrayList