Moin,
ich bin grad ein weniglich verwirrt.
Ich erstelle mir an Hand von Dingen wie einer ID und dem LanguageString eine URL zu einer lokalen Datei.
Jetzt möchte ich gern prüfen, ob diese URL auf dem Gerät auch wirklich vorhanden ist.
Also dachte ich mir: Hey, prüf doch einfach, ob die Datei auf dem Gerät auch wirklich vorhanden ist.
Gesagt getan:
htmlFile = super.generateUrl();
File testFile;
String htmlFileName = "html/"+ Locale.getDefault().getLanguage()+"-H"+uniqueItemId+".html";
try
{
htmlFile = new URL(htmlFile, htmlFileName);
}
catch (MalformedURLException e)
{
Log.e(TAG, "URL "+htmlFile.toString()+htmlFileName+"ist fürn Arsch.\n"+e.toString());
}
testFile = new File(htmlFile.toString());
if(!testFile.exists())
{
Log.e(TAG, "Not found "+testFile.toString()+"...");
htmlFileName = "de-H"+uniqueItemId+".html";
try
{
htmlFile = new URL(htmlFile, htmlFileName);
}
catch (MalformedURLException e)
{
Log.e(TAG, "URL "+htmlFile.toString()+"ist fürn Arsch.\n"+e.toString());
}
}
testFile = new File(htmlFile.toString());
if(!testFile.exists())
{
Log.e(TAG, "Not even found "+testFile.toString()+"...");
}
Alles anzeigen
Nun ja, Resultat ist beispielsweise:
Zitat05-14 14:40:18.607: ERROR/webviews(10515): Not found file:/mnt/sdcard/Android/data/project/files/html/en-H2277.html...
05-14 14:40:18.626: ERROR/webviews(10515): Not even found file:/mnt/sdcard/Android/data/project/files/html/de-H2277.html...
Frag ich DDMS oder den File Explorer, befindet sich aber an genau der Stelle genau die Datei mit genau dem Namen und dem gewünschten Inhalt.
Ach ja, der Vollständigkeit halber die super.generateUrl():
@Override
public URL generateUrl()
{
if(_urlForStoringData == null)
{
File aFile = null;
if((aFile = getExternalFilesDir(null)) == null)
{
aFile = getFilesDir();
}
try
{
_urlForStoringData = aFile.toURI().toURL();
}
catch(MalformedURLException e)
{
Log.e(TAG, "URL "+_urlForStoringData+" is Mist!\n"+e.toString());
}
}
return _urlForStoringData;
}
Alles anzeigen
Auch der Test ob das Resultat von super.generateUrl() existiert, endet negativ.
Aber ich weiß ganz genau, dass file:/mnt/sdcard/Android/data/project/files existiert!
Was zum Teufel ist da los? Hängt das mit der Umwandlung in eine URL und zurück in ein File zusammen?
(Auf API 15 getestet)