在Android IO中创建文本文件
我试图在android手机上制作一个文本文件,并在需要时填充它。很明显,我遇到了一些问题,我想看看是否有人能看看我目前的情况在Android IO中创建文本文件,android,adb,text-files,Android,Adb,Text Files,我试图在android手机上制作一个文本文件,并在需要时填充它。很明显,我遇到了一些问题,我想看看是否有人能看看我目前的情况 import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExceptio
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
public class ViewLog extends Activity {
private TextView tv;
private static final String TAG = "MEDIA";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.TextView01);
CreateExternalLogFile("I am adding something into the text file!");
}
private void CreateExternalLogFile(String s){
File root = android.os.Environment.getExternalStorageDirectory();
tv.append("\nExternal file system root: "+root);
File dir = new File (root.getAbsolutePath() + "/logs");
dir.mkdirs();
File file = new File(dir,"log.txt");
try {
FileOutputStream f = new FileOutputStream(file,true); //True = Append to file, false = Overwrite
PrintWriter pw = new PrintWriter(f);
System.out.println(s);
pw.println(s);
pw.flush();
pw.close();
f.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
Log.i(TAG, "******* File not found. Did you" +
" add a WRITE_EXTERNAL_STORAGE permission to the manifest?");
} catch (IOException e) {
e.printStackTrace();
}
tv.append("\nFile written to \n"+file);
}
}
任何帮助都将不胜感激。我使用adb查找该文件,但该文件未被创建。编辑:该功能正常-刚刚测试过 确保清单中也有:
package com.example.fileio;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.widget.TextView;
public class FilioActivity extends Activity {
private TextView tv;
private static final String TAG = "MEDIA";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.TextView01);
CreateExternalLogFile("I am adding something into the text file!");
}
private void CreateExternalLogFile(String s){
File sdCard = Environment.getExternalStorageDirectory();
File dir = new File (sdCard.getAbsolutePath());
dir.mkdirs();
File file = new File(dir, "filename.txt");
tv.append("\nExternal file system root: "+ dir);
try {
FileOutputStream f = new FileOutputStream(file,false); //True = Append to file, false = Overwrite
PrintStream p = new PrintStream(f);
p.print(s);
p.close();
f.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
Log.i(TAG, "******* File not found. Did you" +
" add a WRITE_EXTERNAL_STORAGE permission to the manifest?");
} catch (IOException e) {
e.printStackTrace();
}
tv.append("\nFile written to \n"+file);
}
}
我想将文件存储在SD卡上,这就是我选择.getExternalStorageDirectory()的原因;当使用adb(通过仿真器查看)访问文件路径时,它应该位于“/mnt/sdcard/nullwall_logs/log.txt”目录中没有任何内容。此外,代码通过try块,没有输入任何异常。刚刚编辑了我的帖子,测试以确保代码正常工作。祝你好运,如果你需要更多的帮助,请告诉我:)非常感谢!我错过了什么?你还说确保你的舱单上有。吃什么?:]谢谢Woops,编辑它-现在应该包括权限:)别忘了选择我的答案;)我不完全确定我更改了什么,我认为只是环境.getExternalStorageDirectory()以及清单更改。这是我看到的屏幕。希望这有帮助!非常感谢你的帮助。我所看到的是:确保你的舱单上也有。