文件在PC上显示为空但在智能手机上显示为非空

rob*_*ess 8 android printwriter android-mediascanner

我的三星Galaxy Nexus有一个奇怪的问题,在我的应用程序中创建和写入的文件在手机本身(通过ES文件资源管理器)访问时显示正常,但当我尝试在我的PC上查看相同的文件时(通过USB连接手机),它们显示为0字节(打开时为空).

这些应该是普通的文本文件,我使用新的File(dir,filename)创建并使用PrintWriter的write方法写入.我还使用MediaScannerConnection.scanFile将新文件添加到内容数据库.

我在之前的应用程序(> 6个月前)中使用了基本相同的代码,没有任何问题,所以我真的很困惑为什么它现在不能正常工作.有人有过类似的问题吗?

更新:

仍然在解决这个......另外两个观察让我完全糊涂了:

  1. 我尝试在另一台PC上访问相同的文件,它们工作正常.这让我觉得它可能是一些驱动程序问题,但这仍然是奇怪的,因为我根本没有改变驱动程序(我之前从未经历过这个问题).

  2. 我尝试使用我之前创建的其他应用程序创建文件.它使用基本相同的FileIO类来创建文件等.此应用程序没有遇到此类问题.

Vik*_*ram 5

我遇到了同样的问题.这与如何定义MTP(媒体传输协议)有关.

MTP有一些缺点.维基百科将它们列为:

  1. 打开文件时,用户必须等到文件复制到PC才能查看.(注意:查看后文件仍保留在PC硬盘驱动器上,并且设备已被删除)
  2. 不能从PC上创建设备上的文件,必须在PC上创建文件并复制文件.
  3. 无需编辑设备上的文件,必须先将文件复制出设备,然后才能保存编辑内容并将文件复制回来.

在我的情况下,我通过usb连接手机时拍摄的屏幕上限为0 kb(在PC上).但是,拔掉USB插头解决了这个问题.