在 res/raw 文件夹中写入文本文件
write text file in res/raw folder
我在文件夹 res/raw 中有一个文本文件名称 "pass.txt" 和其中的一些数据我想删除这些数据并在其中输入新数据....是否可以写入数据在上面??否则什么是存储我的文本文件的正确路径,这样我就可以轻松地 read/write 数据......以及从中读取和写入数据的代码是什么?下面是我只能从这个文本文件中读取数据的代码
InputStream fr = getResources().openRawResource(R.raw.pass);
BufferedReader br = new BufferedReader(new InputStreamReader(fr));
String s=br.readLine().toString().trim();
项目中 raw 目录中包含的资源将打包在 APK 中,并且在运行时不可写。
查看内部或外部数据存储 API 以读写文件。
https://developer.android.com/training/basics/data-storage/files.html
您可以使用 Android 内部存储来读写文件...因为 res/raw 只是只读的..您不能在运行时更改内容。
代码如下:
创建文件
String MY_FILE_NAME = “mytextfile.txt”;
// Create a new output file stream
FileOutputStream fileos = openFileOutput(MY_FILE_NAME, Context.MODE_PRIVATE);
// Create a new file input stream.
FileInputStream fileis = openFileInput(My_FILE_NAME);
从文件中读取:
public void Read(){
static final int READ_BLOCK_SIZE = 100;
try {
FileInputStream fileIn=openFileInput("mytextfile.txt");
InputStreamReader InputRead= new InputStreamReader(fileIn);
char[] inputBuffer= new char[READ_BLOCK_SIZE];
String s="";
int charRead;
while ((charRead=InputRead.read(inputBuffer))>0) {
// char to string conversion
String readstring=String.copyValueOf(inputBuffer,0,charRead);
s +=readstring;
}
InputRead.close();
Toast.makeText(getBaseContext(), s,Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
}
写入文件:
public void Write(){
try {
FileOutputStream fileout=openFileOutput("mytextfile.txt", MODE_PRIVATE);
OutputStreamWriter outputWriter=new OutputStreamWriter(fileout);
outputWriter.write("TEST STRING..");
outputWriter.close();
//display file saved message
Toast.makeText(getBaseContext(), "File saved successfully!",
Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
}
我在文件夹 res/raw 中有一个文本文件名称 "pass.txt" 和其中的一些数据我想删除这些数据并在其中输入新数据....是否可以写入数据在上面??否则什么是存储我的文本文件的正确路径,这样我就可以轻松地 read/write 数据......以及从中读取和写入数据的代码是什么?下面是我只能从这个文本文件中读取数据的代码
InputStream fr = getResources().openRawResource(R.raw.pass);
BufferedReader br = new BufferedReader(new InputStreamReader(fr));
String s=br.readLine().toString().trim();
项目中 raw 目录中包含的资源将打包在 APK 中,并且在运行时不可写。
查看内部或外部数据存储 API 以读写文件。
https://developer.android.com/training/basics/data-storage/files.html
您可以使用 Android 内部存储来读写文件...因为 res/raw 只是只读的..您不能在运行时更改内容。
代码如下:
创建文件
String MY_FILE_NAME = “mytextfile.txt”;
// Create a new output file stream
FileOutputStream fileos = openFileOutput(MY_FILE_NAME, Context.MODE_PRIVATE);
// Create a new file input stream.
FileInputStream fileis = openFileInput(My_FILE_NAME);
从文件中读取:
public void Read(){
static final int READ_BLOCK_SIZE = 100;
try {
FileInputStream fileIn=openFileInput("mytextfile.txt");
InputStreamReader InputRead= new InputStreamReader(fileIn);
char[] inputBuffer= new char[READ_BLOCK_SIZE];
String s="";
int charRead;
while ((charRead=InputRead.read(inputBuffer))>0) {
// char to string conversion
String readstring=String.copyValueOf(inputBuffer,0,charRead);
s +=readstring;
}
InputRead.close();
Toast.makeText(getBaseContext(), s,Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
}
写入文件:
public void Write(){
try {
FileOutputStream fileout=openFileOutput("mytextfile.txt", MODE_PRIVATE);
OutputStreamWriter outputWriter=new OutputStreamWriter(fileout);
outputWriter.write("TEST STRING..");
outputWriter.close();
//display file saved message
Toast.makeText(getBaseContext(), "File saved successfully!",
Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
}