2012-04-11 135 views
-2

我想做一個測試,在我的Java項目中讀取.java文件並將其轉換爲String。我如何在JUnit測試中執行此操作(無命令行參數)?閱讀Java中的.java文件

+2

'解析'並不意味着你的想法。這意味着將文件轉換爲Java字節碼或AST。你有什麼嘗試,你有什麼問題? – Corbin 2012-04-11 18:54:04

+0

出於好奇,爲什麼你想讓你的JUnit測試直接解析一個java文件? – 2012-04-11 18:57:10

+0

我不確定.java文件的類路徑。 – sworded 2012-04-11 19:14:59

回答

0

檢索到的當前工作目錄,並從導航那裏的java文件。

String curDir = System.getProperty("user.dir"); 
-1

從Java Commons IO中,請參閱FileUtils類。

+0

例如:com.abc.MyClass.java 如何獲取此類的文件? 所有FileUtil方法都在文件上運行。 – sworded 2012-04-11 18:59:01

+0

新文件(路徑名爲文件) – bmargulies 2012-04-11 22:02:58

1

您可以在已知位置放置java文件並使用File絕對/相對路徑來訪問文件

或者使用getClass().getResourceAsStream()來訪問它based on classpath

+0

例如: com.abc.MyClass.java 我會傳入getResourceAsStream()什麼? – sworded 2012-04-11 18:58:33

+0

如果可以從類路徑訪問com,那麼假設它是com/abc /文件夾層次結構,則應該能夠以'getResourceAsStream(「/ com/abc/MyClass.java」)'的形式訪問它。如果它實際上命名爲com.abc.MyClass.java,請使用'getResourceAsStream(「/ com.abc.MyClass.java」)' – Attila 2012-04-11 19:05:04

+0

這似乎只適用於.class文件 – sworded 2012-04-11 19:11:03