Java 在android应用程序包中指定自定义文件夹地址
我想在我的android应用程序包中添加一个文本文件,这样就没有人可以重新编辑或删除它。我正在使用Java 在android应用程序包中指定自定义文件夹地址,java,android,Java,Android,我想在我的android应用程序包中添加一个文本文件,这样就没有人可以重新编辑或删除它。我正在使用BufferedReader和FileReader功能访问它,但我在给出文件路径时遇到了问题,因为它显示了我的笔记本电脑路径,当应用程序安装在手机上时,该路径将发生变化。所以需要一些更好的选项来指定文件的路径。我在app的src中创建了一个文件夹,并使用androidstudio进行编码 只需将您的文本文件放在android的资产文件夹中即可 请参考此答案以获取示例 示例代码 XML @Chand
BufferedReader
和FileReader
功能访问它,但我在给出文件路径时遇到了问题,因为它显示了我的笔记本电脑路径,当应用程序安装在手机上时,该路径将发生变化。所以需要一些更好的选项来指定文件的路径。我在app的src
中创建了一个文件夹,并使用androidstudio进行编码 只需将您的文本文件放在android的资产文件夹中即可
请参考此答案以获取示例
示例代码
XML
@Chandraman Patil检查这是否是您想要的,如果是,然后接受答案这是有效的,但只需将行“R.drawable.my_base_data”更改为“R.myfolder.text_file”,因为drawable文件夹不存储.txt文件,所以我在res文件夹中创建了一个新目录。非常感谢。谢谢并投票给这个答案,让其他人得到好处
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
package com.javasamples;
//reading an embedded RAW data file
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
import java.io.*;
public class FileDemo1 extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
PlayWithRawFiles();
} catch (IOException e) {
Toast.makeText(getApplicationContext(),
"Problems: " + e.getMessage(), 1).show();
}
}// onCreate
public void PlayWithRawFiles() throws IOException {
String str="";
StringBuffer buf = new StringBuffer();
InputStream is = this.getResources().openRawResource(R.myfolder.text_file);
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
if (is!=null) {
while ((str = reader.readLine()) != null) {
buf.append(str + "\n" );
}
}
is.close();
Toast.makeText(getBaseContext(),
buf.toString(), Toast.LENGTH_LONG).show();
}// PlayWithSDFiles
} // FilesDemo4