如何在 Android 中写入外部文本文件?

Posted

技术标签:

【中文标题】如何在 Android 中写入外部文本文件?【英文标题】:How to write to an external text file in Android? 【发布时间】:2011-04-30 21:00:37 【问题描述】:

我想在 android 项目的文本文件中写一个字符串行(使用 Eclipse)。这是我正在尝试但它不工作的代码...

    String s="hello azeem\n";
    try
    FileOutputStream fos = openFileOutput("C:\\eventslog.txt", Context.MODE_PRIVATE);
    fos.write(s.getBytes());
    fos.close();
    
    catch (Exception e)

    

有什么想法吗??

【问题讨论】:

复制您 20 分钟前的帖子,How to write to an external text file in Android?。请不要转发;改为使用说明来编辑您的原始问题。 如果您有请告诉我解决方案... 【参考方案1】:

有两种方法可以理解您的问题:

    您想将文件写入计算机中的 c: 驱动器 - 好吧,您不能。如果您想以编程方式将某些文件从 android 保存到您的计算机,则必须通过网络发送。 您想写入 android FS 中的某个位置 - 在这种情况下,c:\ 是无关紧要的,因为这是一个 windows 路径,而 android 是基于 unix 的,这意味着所有路径也从 root (/) 开始, android SDK 为您提供了一些无需使用固定路径即可访问相关目录文件的方法。见这里:http://developer.android.com/guide/topics/data/data-storage.html

【讨论】:

非常感谢您的回复。让我再澄清一下我的问题:实际上有一个名为 eventslog.txt 的文件位于我的 windows xp 的 C 文件夹中。我正在编写一个只有一个活动的 android 测试应用程序,我只需要在文件 eventslog.txt 中写入一行“hello world”...我需要它,因为稍后另一个应用程序将使用此文件中的数据。请告诉我我可以这样做吗?谢谢。 您需要在您的 Windows PC 上安装一个服务器,并让您的活动通过 TCP 将数据发送到您的计算机。 你能告诉我一个链接,我可以在哪里找到关于这个的完整教程(使用 TCP 完成这个任务)?谢谢。 当然,看这里:adp-gmbh.ch/blog/2004/november/15.html 和这里:dreamincode.net/forums/topic/139154-transfer-a-file-over-tcp 我建议你学习一些通用的 TCP 套接字教程,因为它是一个非常有用的知识。【参考方案2】:

将 Android 中的文本写入设备的 sdcard。使用 Android Bridge(在 sdk\platform-tools 中找到 adb.exe)将 txt 文件拉到您的驱动器上……在您的情况下,是一个 Windows 磁盘。

(在android中将文本写入foo.txt)

在命令 bar.bat 中:

adb pull /sdcard/Android/data/com.example.yourapp/files/foo.txt C:\foo.txt

运行 bar.bat 文件。就是这样。 foo.txt 现在存在于 sdcard 和 C:\foo.txt

对不起,如果这不符合您的意图。您必须从 Windows 调用批处理文件。

【讨论】:

【参考方案3】:

也许你没有添加它的权限...

这里是:

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

【讨论】:

以上是关于如何在 Android 中写入外部文本文件?的主要内容,如果未能解决你的问题,请参考以下文章

C语言如何写入文本文件

将 textFields/textArea 写入文本文件

delphi写多行文本文件操作

在linux中给一个文本文件写内容的方法(三种)

如何将“读者友好”的 sessionInfo() 写入文本文件

MATLABUTF-8编码文本输出