我正在尝试从我的一个传感器读取数据并将其写入文本文件。我正在使用Eclipse,在Samsung Nexus S上运行我的项目。我想收集数据,将其存储到文本文件中,然后在我通过USB线将Nexus S连接到桌面时访问该文件。
我看过很多解释;但是,他们要么解释如何将文件保存到SD卡,这是Nexus S没有的,或者他们解释说Android不允许用户访问应用程序数据。我想避免生根电话。
我一直在使用两种主要的示例方法,请记住其中一种方法已被注释掉:
public void appendLog(String text){
// try{
// FileOutputStream fout = openFileOutput("log.txt", MODE_WORLD_READABLE);
// OutputStreamWriter osw = new OutputStreamWriter(fout);
// osw.write(text);
// osw.flush();
// osw.close();
// }
// catch(IOException e){
//
// }
File logFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "log.txt");
if(!logFile.exists()){
try{
logFile.createNewFile();
}
catch(IOException e){
}
}
try{
BufferedWriter buf = new BufferedWriter(new FileWriter(logFile, true));
buf.append(text);
buf.newLine();
buf.close();
}
catch(IOException e){
}
}
答案 0 :(得分:2)
Nexus S有一条“/ sdcard /”路径,就像大多数手机一样。您可以通过new File("/sdcard/");
访问它,但首选方法是使用new File( Environment.getExternalStorageDirectory());
。该命令为您提供外部存储位置,以防特定电话没有here所述的“/ sdcard”路径。