因此,當您將Java(.java)編譯到類文件(.class)中時,文件的名稱可以更改,也可以更改文件的擴展名。如果我在C#中有一段代碼將Java代碼編譯到類文件中,那麼我將如何獲得C#中這些輸出類文件的名稱?在C#中編譯Java文件後,如何獲得輸出CLASS文件名?
1
A
回答
0
當你編譯一個.java文件時,你將得到文件中聲明的每個類的.class文件。這意味着主類必須匹配文件名,以及任何內部類和匿名類。
class Outer {
static class Inner {
}
public void run() {
Thread t = new Thread(new Runnable() {
public void run() {
// code here
}
});
}
}
會產生:
Outer.class
Outer$Inner.class
Outer$1.class
因此,假設你正在建設一個乾淨的目錄,你可以得到的文件用的.class擴展列表,並通過了解得到Foo.java
所有類的列表將會有一個是Foo.class
和其他以Foo$
開頭的。現在這可能會被破壞,因爲你在技術上允許你有自己的類,其中有$
,但是強烈建議你不要這樣做,因爲它通常表示系統生成的類文件。
0
您可以通過編譯器選項喜歡玩:javac的-d目錄 使用過程類來啓動java編譯器
Process.StartInfo.FileName = "javac";
首先,你應該生成一個臨時導演。
Directory.Create(Application.StartupPath + @"/TemporaryJavaFiles");
Process.StartInfo.Arguments = "-d "+Application.StartupPath + @"/TemporaryJavaFiles";
Process.Start();
string[] JavaClassess = Directory.GetFilesApplication.StartupPath + @"/TemporaryJavaFiles");
0
string[] filePaths = Directory.GetFiles(@directoryString, "*.class");
怎麼樣?
0
使用javac -verbose yourclass.java
並在輸出中搜索以[寫入]開頭的行。
相關問題
- 1. 如何在Java中編譯.java文件?
- 2. 您可以從Java中的.class文件獲得.java文件
- 3. 將.xsl文件編譯爲.class文件
- 4. 編譯或不編譯.class文件
- 5. 在UNIX中編譯輸出文件
- 6. 如何重命名Java .class文件?
- 7. GCC編譯器:編譯具有不同輸出文件名的多個文件
- 8. 如何從classLoader獲得java.lang;類而不是編譯文件* .java
- 9. 如何從rt.jar反編譯Java .class文件
- 10. 如何知道編譯了一個.class文件的Java版本?
- 11. 如何使用java反編譯.class文件?
- 12. 如何防止SBT重新編譯修改後的.class文件?
- 13. Eclipse編譯在包文件夾中放了很多.class文件
- 14. 檢查Java編譯器版本(JDK版本)的編譯後的class文件
- 15. 如何在shell中輸出文件名?
- 16. 在java中,如何獲得線程中的文件名稱
- 17. 編譯具有不同文件名和類名的Java文件
- 18. C#如何獲得其他批處理文件的輸出?
- 19. Java中使用預編譯的.class文件
- 20. Gradle不會將.java編譯爲jar文件中的.class
- 21. 如何在.java文件中導入.class文件?
- 22. 如何在使用GCC編譯的C文件中指定輸出節?
- 23. eclipse在編譯後沒有更新輸出文件夾
- 24. 已編譯TypeScript的輸出文件夾
- 25. 如何在C#Windows中獲取文件大小,文件名,文件擴展名?
- 26. 如何在文件中獲得Summarizer輸出
- 27. 如何使用GDAL庫在java中編寫輸出文件?
- 28. 如何獲得sbt 0.10.0來編譯子目錄中的文件?
- 29. 如何獲得在C#中使用給定文件名的PID?
- 30. 如何在C#.Net中獲得CSV文件編碼UTF-8?
你的C#代碼是如何編譯java代碼的?你可以發佈C#代碼嗎? – Oded
如果該類是公共的,那麼它的文件名應該與類名相同。 – denolk
它只是在系統上執行javac。 – Alper