2014-08-30 85 views
0

這是一個使用gradle的libgdx項目(如果有的話)。我有一個類實現了屏幕,我想在顯示器上繪製一個字符串。在桌面上,以下代碼工作。LibGdx android訪問.txt文件並將它們轉換爲字符串

try { 
     string = readFile("bin/001.txt",Charset.defaultCharset()); 
     } catch (IOException e) { 
      e.printStackTrace(); 
    } 

然後我可以在一個階段的標籤中使用該字符串。然而,在Android版本中,我使用「assets/001.txt」並獲得錯誤VFY:無法重新調用靜態方法11542:Ljava/nio/file/Paths; .g

然後我研究了它並在此處找到了一個建議

FileInputStream fis; 
     fis = openFileInput("test.txt"); 
     StringBuffer fileContent = new StringBuffer(""); 

     byte[] buffer = new byte[1024]; 

     while ((n = fis.read(buffer)) != -1) 
     { 
      fileContent.append(new String(buffer, 0, n)); 
     } 

這並沒有工作,要麼因爲openFileInput是不確定的,因爲「這些都是在上下文類中定義的方法」,然而

「如果你正在使用LibGDX,你需要放棄活動和觀點的概念,因爲你的整個遊戲現在只是一個Activity。當你開始遊戲時有一個主菜單不會切換Activity,但只是預先發送一組不同的對象以呈現給同一個活動。「

現在我失去了

回答

2

要閱讀LibGdx一個文件,你從底層需要抽象。這是因爲相同的應用程序可以在多個系統(桌面,Android,Web ...)中工作。

因此要讀取的文件,你需要使用:

FileHandle file = Gdx.files.internal("myfile.txt"); 
String text = file.readString(); 

的文件的路徑和位置可以在documentation

總結
相關問題