2012-04-14 53 views
1

我正在制作Android应用程序,并且我想添加两个名为fsx.xmlxplane.xml的文件。这是我正在使用的代码,它完美无误地运行,但/planesim只显示为空。请帮忙!我无法设法将资产中的文件复制到外部存储

String planesimFolderName = "/planesim"; 
String fsxFile = "fsx.xml"; 
String xplaneFile = "xplane.xml"; 
String asset; 
File assetDestination; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.splash); 
    final File planesimFolder = new File(Environment.getExternalStorageDirectory() + planesimFolderName); 
    final AssetManager assetManager = getAssets(); 
    for (int fileCount = 1; fileCount == 2; fileCount++) { 
     if (fileCount == 1) { 
      asset = fsxFile; 
     } else if (fileCount == 2) { 
      asset = xplaneFile; 
     } 
     assetDestination = new File(Environment.getExternalStorageDirectory() + planesimFolderName + "/" + asset); 
     try {  
      InputStream in = assetManager.open(asset); 
      FileOutputStream f = new FileOutputStream(assetDestination); 
      byte[] buffer = new byte[1024]; 
      int len1 = 0; 
      while ((len1 = in.read(buffer)) > 0) { 
      f.write(buffer, 0, len1); 
      } 
      f.close(); 
     } catch (Exception e) { 
      Log.d("CopyFileFromAssetsToSD", e.getMessage()); 
     } 
    } 
} 

感谢您的时间和帮助,zeokila。

回答

1

这是你的错误:

for (int fileCount = 1; fileCount == 2; fileCount++) 

这就好比:

for (int fileCount = 1; fileCount <= 2; fileCount++) 
+0

谢谢,这解决:(因为1 != 2),应该是

int fileCount = 1; while(fileCount == 2) // never true... 

for循环从未执行问题。 – 2012-04-14 13:09:41

相关问题