[英]How do I access a text file for JUnit test in Android?
如何訪問我的目錄'src / test / resources'中的文本文件
在我的JUnit測試期間,我似乎無法獲取它
移動/的build.gradle:
sourceSets {
test {
java {
srcDirs = [ 'src/test/java' ]
}
resources {
srcDirs = [ 'src/test/resources' ]
}
}
}
測試方法:
@Test
public void test_file() {
URL resource = getClass().getResource("file_four_lines.txt");
File file = new File(resource.getFile()); // Get NullPointerException here
...
}
用/
前綴文件路徑。
基本上,你會做這樣的事情:
File helloBleprintJson = new File(
getClass().getResource("/helloBlueprint.json").getPath());
上面的片段取自此處 。
請原諒我發布兩次,我的答案來自官方文檔 “以原始形式保存的任意文件。要使用原始InputStream打開這些資源,請使用資源ID調用Resources.openRawResource(),即R.raw 。文件名。
但是,如果需要訪問原始文件名和文件層次結構,可以考慮在assets /目錄中保存一些資源(而不是res / raw /)。 資產/中的文件沒有給出資源ID,因此您只能使用AssetManager讀取它們。“Json和txt 是非標准的(不支持),因此您必須提供自己的實現/ parcer來讀取此類型文件。感謝您post。我對資源有所了解,但感謝你的推動,我現在知道的更多。回顧一下Android資源系統跟蹤與應用程序相關的所有非代碼資產.Android SDK工具將應用程序的資源編譯到應用程序二進制文件中構建時間。要使用資源,必須在源代碼樹中(在項目的res /目錄中)正確安裝它並構建應用程序。作為構建過程的一部分,SDK工具為每個資源生成符號,您可以使用它們在您的應用程序代碼中訪問資源 ,當然所引用的符號都在生成的R文件中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.