android bufferedwriter - 找不到文本文件

标签 android bufferedwriter

我是编程新手(几个月前刚学过 Java),通常通过在这里搜索在线找到很多帮助,但这次我很困惑。

我正在尝试将我的 Android 手机上的传感器数据保存到存储器中的文本文件中,稍后使用 USB 线将文本文件拉出。但是,在手机上运行该应用程序后,我似乎无法在内部存储的文件夹中找到它。

我确实在我的 list 中包含了这一行以排除权限问题。

    <uses-permission 
    android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

当我按下屏幕上的按钮时, bool 值 save_data 被触发,当按下按钮时,我通过在屏幕上显示开/关来验证按钮是否正常工作。

public void onSensorChanged(SensorEvent event) {
synchronized (this) {
    switch (event.sensor.getType()) {
    case Sensor.TYPE_ACCELEROMETER: 
        A_x_value.setText(Float.toString(event.values[0]));
        A_y_value.setText(Float.toString(event.values[1]));
        A_z_value.setText(Float.toString(event.values[2]));

        if (save_data == true) {
            SaveButton_Label.setText("On");

            String datastring = "A: " + Float.toString(event.values[0]) + " " + Float.toString(event.values[1]) + " " + Float.toString(event.values[2]);
            try
            {
                File f = new File("sensordata.txt");
                FileWriter fr = new FileWriter(f);
                BufferedWriter out = new BufferedWriter(fr);
                out.write(datastring);
                out.close();
            }

            catch (IOException e)
            {
                System.out.println("Exception");
            }

        } else {
            SaveButton_Label.setText("Off");
        }
        break;
    }
}

非常感谢你们提供的任何帮助。谢谢!

最佳答案

当您创建一个新的 File 实例时,您必须定义整个路径,包括外部存储路径。

File f = new File(Environment.getExternalStorageDirectory().getPath(), "sensordata.txt");

关于android bufferedwriter - 找不到文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15869738/

相关文章:

android - 应用内结算:无法设置 IAB Helper 异常(exception)

android - 操作栏样式 [顶部和底部]

android - 使用 dip 的目的是什么?

java - 无法写入特定格式的文件

java - BufferedReader到BufferedWriter

java - 简单的客户端服务器程序无法运行

java - 如何从具有多个纬度和经度坐标的 JSON 文件创建谷歌地图标记

Android - fragment 在通过 FragmentManager 替换后返回到它们的第一个状态

java - 将 BufferedWriter.write 延迟到另一个线程

java - 将字符串写入文件中的特定位置