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

时间:2013-07-22 11:38:54

标签: android printwriter android-mediascanner

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

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

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

更新

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

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

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

2 个答案:

答案 0 :(得分:5)

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

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

  
      
  1. 打开文件时,用户必须等到文件复制到PC才能查看。 (注意:文件仍然在PC上   观看后驱动并移除设备)
  2.   
  3. 不能从PC上创建设备上的文件,必须在PC上创建文件并复制文件。
  4.   
  5. 不能编辑设备上的文件,必须先将文件复制出设备,然后才能保存编辑内容并将文件复制回来。
  6.   

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

答案 1 :(得分:1)

我遇到了同样的问题,当我把手机插入其中时说文件夹是空的,但当我解锁手机时,我的电脑上出现了所有文件。我有相当严格的安全设置,但值得一试。