首先,我很遺憾,因爲我提出了一個非常基本和奇怪的問題;但是我對Java和編程都很陌生。我研究了system.out.println()中的「out」是系統類的一個對象。可以將「out」替換爲系統類的任何其他對象嗎?如果是這樣的成員和如何?我們可以在System.out.println()中替換「out」嗎?
回答
您可以致電println()
任何PrintStream
。如果您查看System
javadoc,您會發現another PrintStream
static field,即System.err
。例如:
System.err.println("This goes to POSIX standard error!");
如果要真正地替換爲自己的輸出流標準輸出,您可以將流傳遞到System.setOut(PrintStream)
或相應System.setErr(PrintStream)
是
System.setOut(out)
做到了這一點。可以是PrintStream
的任何實例。
例如:
System.setOut(System.err);
將設置默認輸出流是相同的作爲默認的錯誤流。
「可以 「走出去」 與其他任何替換系統類的對象?「,而不是」我可以用我自己的對象替換嗎?「 – hexafraction 2014-11-24 11:28:20
是,例如ERR
但我會下載任何的Java IDE(IntelliJ IDEA的或Ecliplse)的,創建一個新的Java項目,新的階級,新的主要方法,類型System.out和按Ctrl +空格,看看會發生什麼
你爲什麼要專門聲明使用IDE(其中有時文件有時挑剔以提高和鍵盤映射不同)?標準的javadoc不夠嗎? – hexafraction 2014-11-24 11:30:31
你可以玩IDE。他是一個新手。 – user831217 2014-11-24 14:20:29
是。你可以使用不同的關鍵詞作爲System.err.println()或system.in和不同的,你可以在這個鏈接中得到完整的視圖http://javapapers.com/core-java/system-out-println/你可以爲你提供一個完整的教程。
這裏有2個非常有用的鏈接(希望這有助於)
這裏是低於它的簡短描述:
Structure of System.out.println
以下是JDK源代碼中的System.out.println的骨架結構。通過這個代碼片段,重要部分被突出顯示,並給出更好的理解。
public final class System {
static PrintStream out;
static PrintStream err;
static InputStream in;
...
}
public class PrintStream extends FilterOutputStream {
//out object is inherited from FilterOutputStream class
public void println() {
...
}
變化出的System.out.println
對象的‘out’
可以定製。 out在啓動時被java運行時環境初始化,並且它可以在開發過程中由開發人員更改。 而不是標準輸出,在默認情況下,當您通過命令行運行程序時,輸出將在相同的命令窗口中打印。我們可以使用setOut方法更改該行爲,如下所示。
在下面的例子
public class ChangeOut {
public static void main(String args[]) {
try {
System.setOut(new PrintStream(new FileOutputStream("log.txt")));
System.out.println("Now the output is redirected!");
} catch(Exception e) {}
}
}
- 1. 我們可以替換Jmeter中的元素嗎?
- 2. 我們可以使用$ sce.trustAsHtml(string)out of「filter」嗎?
- 3. 我們可以用行數替換列的所有值嗎?
- 4. JBoss Fuse - 我們可以用ActiveMQ替換對WebSphereMQ的依賴嗎?
- 5. 我們可以使用.NET System.Windows.Forms.Timer來替換Excel VBA Application.onTime嗎?
- 6. 我們可以用flatMap替換地圖嗎?
- 7. TcpClient - 我可以用它替換嗎?
- 8. 我可以用代碼替換jaxb.properties嗎?
- 9. 我可以用Silverlight替換WPF嗎
- 10. 我可以不做System.out.println(Item.toString());?
- 11. UIWebView可以替換Safari嗎?
- 12. 我們可以用spring-statemachine中的etcd替換動物園管理員嗎?
- 13. 我們可以用請求庫替換此代碼中的urlopen嗎?
- 14. 我們可以替換SiteEdit 2012(Tridion 2011)中的<add text>標籤嗎?
- 15. 我們可以用組合器代替Mapreduce中的reduce嗎?
- 16. 我們可以在PhoneGap上製作家庭替代應用嗎?
- 17. 我可以在Solr中替換新的Field的數據嗎?
- 18. 我可以在NHibernate中將呼叫替換爲Activator.CreateInstance()嗎?
- 19. 我可以在php標籤中替換佔位符嗎?
- 20. 我可以在eclipse中恢復被SVN替換的文件嗎
- 21. 我可以在bash腳本中替換數組名稱嗎?
- 22. 我可以在另一個文件中替換嗎?
- 23. 我可以在LESS進口中找到並替換嗎?
- 24. 我可以在vim中像這樣替換多行嗎?
- 25. 我可以在ansible-galaxy和requirements.yml中使用變量替換嗎?
- 26. 可以用regex替代替換嗎?
- 27. 我們可以在我們的項目中部署IWSHRUNTIMELIBRARY嗎?
- 28. 我們可以在我們的matlab程序中使用「點」嗎?
- 29. 我可以自動替換我的網址中的字符嗎?
- 30. 可以替換Redux.createStore中的狀態嗎?
https://docs.oracle.com/javase/7/docs/api/java/lang/System.html – 2014-11-24 11:27:52