Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的文本文件保存到哪里?_Java_Android_Android Studio - Fatal编程技术网

Java 我的文本文件保存到哪里?

Java 我的文本文件保存到哪里?,java,android,android-studio,Java,Android,Android Studio,我做了一个基本的保存到文本文件的程序。它工作得很好,但我就是找不到创建的文本文件存储在哪里。有人知道它们存放在哪里吗 已授予所有必要的权限 public class MainActivity extends AppCompatActivity { Context context = this; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState

我做了一个基本的保存到文本文件的程序。它工作得很好,但我就是找不到创建的文本文件存储在哪里。有人知道它们存放在哪里吗

已授予所有必要的权限

public class MainActivity extends AppCompatActivity {

Context context = this;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    final EditText enter = ((EditText) findViewById(R.id.editText));
    final TextView show = ((TextView) findViewById(R.id.textView));
    Button b = ((Button) findViewById(R.id.button));
    b.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View view) {
             final String s = enter.getText().toString();
             writeToFile(s, s);
             show.setText(readFromFile(s));

         }
     }
    );
}

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
     // Inflate the menu; this adds items to the action bar if it is present.
     getMenuInflater().inflate(R.menu.menu_main, menu);
     return true;
 }

 @Override
 public boolean onOptionsItemSelected(MenuItem item) {
     // Handle action bar item clicks here. The action bar will
     // automatically handle clicks on the Home/Up button, so long
     // as you specify a parent activity in AndroidManifest.xml.
     int id = item.getItemId();

     //noinspection SimplifiableIfStatement
     if (id == R.id.action_settings) {
         return true;
     }

     return super.onOptionsItemSelected(item);
 }

 private void writeToFile(String name, String data) {
     try {
         OutputStreamWriter outputStreamWriter = new OutputStreamWriter(context.openFileOutput(name + ".txt", Context.MODE_PRIVATE));
         outputStreamWriter.write(data);
         outputStreamWriter.close();
     } catch (IOException e) {
         Log.e("Exception", "File write failed: " + e.toString());
     }
 }

 private String readFromFile(String name) {

     String ret = "";

     try {
         InputStream inputStream = openFileInput(name + ".txt");

         if (inputStream != null) {
             InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
             BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
             String receiveString = "";
             StringBuilder stringBuilder = new StringBuilder();

             while ((receiveString = bufferedReader.readLine()) != null) {
                 stringBuilder.append(receiveString);
             }

             inputStream.close();
             ret = stringBuilder.toString();
         }
     } catch (FileNotFoundException e) {
         Log.e("login activity", "File not found: " + e.toString());
     } catch (IOException e) {
         Log.e("login activity", "Can not read file: " + e.toString());
     }

     return ret;
 }


 public static void Save(File file, String[] data) {
     FileOutputStream fos = null;
     try {
         fos = new FileOutputStream(file);
     } catch (FileNotFoundException e) {
         e.printStackTrace();
     }
     try {
         try {
             for (int i = 0; i < data.length; i++) {
                 fos.write(data[i].getBytes());
                 if (i < data.length - 1) {
                     fos.write("\n".getBytes());
                 }
             }
         } catch (IOException e) {
             e.printStackTrace();
         }
     } finally {
         try {
             fos.close();
         } catch (IOException e) {
             e.printStackTrace();
         }
     }
 }
public类MainActivity扩展了AppCompatActivity{
上下文=这个;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
设置支持操作栏(工具栏);
final EditText enter=((EditText)findviewbyd(R.id.EditText));
最终文本视图显示=((文本视图)findViewById(R.id.TextView));
按钮b=((按钮)findViewById(R.id.Button));
b、 setOnClickListener(新视图。OnClickListener(){
@凌驾
公共void onClick(视图){
最后一个字符串s=enter.getText().toString();
书面文件;
show.setText(readFromFile);
}
}
);
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(右菜单菜单菜单主菜单);
返回true;
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
//处理操作栏项目单击此处。操作栏将
//自动处理Home/Up按钮上的点击,只要
//在AndroidManifest.xml中指定父活动时。
int id=item.getItemId();
//noinspection SimplifiableIf语句
if(id==R.id.action\u设置){
返回true;
}
返回super.onOptionsItemSelected(项目);
}
私有void writeToFile(字符串名称、字符串数据){
试一试{
OutputStreamWriter OutputStreamWriter=新的OutputStreamWriter(context.openFileOutput(name+“.txt”,context.MODE_PRIVATE));
outputStreamWriter.write(数据);
outputStreamWriter.close();
}捕获(IOE异常){
Log.e(“异常”,“文件写入失败:”+e.toString());
}
}
私有字符串readFromFile(字符串名称){
字符串ret=“”;
试一试{
InputStream InputStream=openFileInput(名称+“.txt”);
如果(inputStream!=null){
InputStreamReader InputStreamReader=新的InputStreamReader(inputStream);
BufferedReader BufferedReader=新的BufferedReader(inputStreamReader);
字符串receiveString=“”;
StringBuilder StringBuilder=新的StringBuilder();
而((receiveString=bufferedReader.readLine())!=null){
stringBuilder.append(receiveString);
}
inputStream.close();
ret=stringBuilder.toString();
}
}catch(filenotfounde异常){
Log.e(“登录活动”,“未找到文件:”+e.toString());
}捕获(IOE异常){
Log.e(“登录活动”,“无法读取文件:+e.toString());
}
返回ret;
}
公共静态无效保存(文件,字符串[]数据){
FileOutputStream=null;
试一试{
fos=新文件输出流(文件);
}catch(filenotfounde异常){
e、 printStackTrace();
}
试一试{
试一试{
对于(int i=0;i

}正在写入文件。这是您的应用程序专用的区域。除了在根设备上,其他应用程序或桌面程序无法查看它。

您可以使用以下命令
ActivityName.this.getFileDir().getAbsolutePath()

您可以使用
context.getFileStreamPath()
将路径返回到保存文件的位置。根据:

返回文件系统上的绝对路径,其中 存储使用openFileOutput(字符串,int)创建的文件


如果您在仿真器上测试此代码,您可以将其放入仿真器中,并可能在该目录中找到您的文件

/data/data/<appid>/files
/data/data//文件

其中
是build.gradle中指定的应用程序id

为什么不在android文档中查找它?
/data/data/<appid>/files