2015-10-04 30 views
0

我在過去的幾個月裏一直在學Java,雖然我已經掌握了幾乎所有的東西,但是輸入和輸出重定向導致了我一些問題。我正在使用的這本書(介紹Java編程,第九版)很早就提出了這個概念,並在整本書中對它進行了開關和引用,雖然我設法擺脫不知道如何去做,但我覺得如果我不盡快處理它,它會很快讓我回歸。我在使用使用Java的輸入和輸出重定向時遇到問題。有人能告訴我哪裏出了問題嗎?

所以,我的問題是我該怎麼做呢?到目前爲止,據我所知,輸入重定向由

Java類名< input.txt中

與輸出在命令提示符完成由

Java類名> Output.txt的

。這基本上是本書就該主題提供的全部內容。然而,我在這方面取得了有限的成功。這樣我就可以將它完全導向保存ClassName.class和input.txt的文件夾。要使輸入重定向工作,類文件和.txt文件必須位於同一個文件夾中嗎?

如果是這樣的話,在cmd中使用哪些命令來更改它所針對的文件夾?

然後,對於輸出重定向,我一直沒有成功實現這個工作,輸出重定向創建一個.txt文件,它將存儲我的輸出數據,或者我需要創建.txt文件,然後才能使用輸出重定向?

作爲參考,我已經通過本書將我的工作分成章節,以便每個創建的程序都很容易在需要的事件中找到。它們存儲如下:

C:\用戶\聯想\文件\的NetBeansProjects \ LearningJava \ SRC \分別Chapter2ElementaryProgramming

對於第2章。

這是我在計算器上的第一篇文章,所以任何建議表示讚賞,如果我在我要問,因爲我還沒有在Java的精通和不明確的道歉,我什麼都意味着作爲尚未

+0

標題和標籤引用JavaScript,但看起來帖子是關於Java的。 Java和JavaScript是完全不同的東西。刪除JavaScript標籤和標題中的引用是公平的。但這2應該有所幫助:http://stackoverflow.com/questions/1420965/redirect-stdout-and-stderr-to-a-single-file和http://examples.javacodegeeks.com/core-java/io/ inputstream/read-line-of-chars-from-console-with-inputstream/ – tiblu

回答

0

隨着您上面的命令,所有內容都必須位於同一個文件夾中,或者將在同一個文件夾中創建。將第二個參數(文件名)想象爲可以找到該文件的位置(在輸入的情況下)或該文件放置的位置(在輸出的情況下)。

如果您只是指定了一個簡單的文件名(前面沒有目錄結構),系統會假定該文件將被讀入或在當前目錄中創建(如您的Chapter2ElementaryProgramming)。

所以,如果你在:

C:\用戶\聯想\文檔\的NetBeansProjects \ LearningJava的\ src \ Chapter2ElementaryProgramming

和ClassName.class和input.txt中也是在C:\用戶\ Lenovo \ Documents \ NetBeansProjects \ LearningJava \ src \ Chapter2ElementaryProgramming,你可以通過簡單的操作,就像你在上面描述的那樣。

如果你有ClassName.class別的地方,而是想從哪裏調用Java類名的input.txt的閱讀,你可以這樣做:

Java類名< C:\用戶\聯想\文檔\的NetBeansProjects \ LearningJava \ src \ Chapter2ElementaryProgramming \ input.txt(假設您在該目錄中有input.txt)。

output.txt同樣適用。除了輸出之外,只要將它看作捕獲自然輸出到屏幕的內容而不是文件即可。所以如果你只是運行java ClassName,並且吐出一堆輸出,那麼如果你執行java ClassName> output.txt,它所做的就是將所有輸出直接保存到output.txt中,而不是將它顯示在屏幕上。

同樣,如果你想output.txt的落得比,你有ClassName.class不同的地方,你可以給它的完整目錄到你希望它去的,如:

Java類名>Ç :\用戶\聯想\文檔\ NetBeansProjects \ LearningJava \ src \ Chapter2ElementaryProgramming \ output.txt

我希望這有助於,如果這確實是你問。

至於成功輸出或輸入的內容,該部分可能會有助於查看代碼,以確保程序聲音良好。

祝你好運。

+0

這簡直是不真實的。 'ClassName'必須位於CLASSPATH上。默認的CLASSPATH是''。'',*如果這就是他正在使用的*它暗示''ClassName.class'必須位於當前目錄中。但並非如此。 – EJP

+0

我可以向你保證,編程是從一本書中讀取的,因爲我沒有創建任何使用它的程序,直到使用它成功完成給定的程序。你的回答非常感謝,正是我所尋找的。 – Benasbo12

0
java ClassName < input.txt 
  • 運行一個名爲ClassName類必須是可用的CLASSPATH。如果您使用'.'的默認CLASSPATH,則表示ClassName.class必須位於當前目錄中。
  • 重定向來自當前目錄中名爲input.txt的文件的輸入。