2012-09-19 56 views
0

這就是我所發現的,但是在這段代碼中它讀取了放入的內容的行,並且我不想要那如何從命令提示符處取出輸出並使用語言創建文本文件Java

我正在做一個名爲Knight's Tour的程序,並且我在命令提示符下獲取輸出。我想要做的就是從命令提示符中讀取行並將其存儲爲名爲knight.txt的輸出文件。誰能幫我嗎。謝謝。

try 
{ 
    //create a buffered reader that connects to the console, we use it so we can read lines 
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); 

    //read a line from the console 
    String lineFromInput = in.readLine(); 

    //create an print writer for writing to a file 
    PrintWriter out = new PrintWriter(new FileWriter("output.txt")); 

    //output to the file a line 
    out.println(lineFromInput); 

    //close the file (VERY IMPORTANT!) 
    out.close(); 
} 

catch(IOException e) 
{ 
    System.out.println("Error during reading/writing"); 
} 
+0

沒有太多的點張貼代碼,不做你想做的,是嗎? – EJP

回答

5

您不需要Java。就在比賽的輸出重定向到一個文件:

game > knight.txt 
+0

難道你不需要編寫這樣做的java代碼。我編寫的程序是用Java代碼 –

+1

不,你不需要java,只需在終端或命令提示符(而不是你的IDE)中運行你的java程序並使用'>'將輸出重定向到文本文件你要。 – Wires77

0

你可以看看下面這個例子,它說明了如何將數據寫入到一個文件,如果文件存在,它展示瞭如何追加到該文件,

public class FileUtil { 

    public void writeLinesToFile(String filename, 
           String[] linesToWrite, 
           boolean appendToFile) { 

    PrintWriter pw = null; 

    try { 

     if (appendToFile) { 

     //If the file already exists, start writing at the end of it. 
     pw = new PrintWriter(new FileWriter(filename, true)); 

     } 
     else { 

     pw = new PrintWriter(new FileWriter(filename)); 
     //this is equal to: 
     //pw = new PrintWriter(new FileWriter(filename, false)); 

     } 

     for (int i = 0; i < linesToWrite.length; i++) { 

     pw.println(linesToWrite[i]); 

     } 
     pw.flush(); 

    } 
    catch (IOException e) { 
     e.printStackTrace(); 
    } 
    finally { 

     //Close the PrintWriter 
     if (pw != null) 
     pw.close(); 

    } 

    } 

    public static void main(String[] args) { 
    FileUtil util = new FileUtil(); 
    util.writeLinesToFile("myfile.txt", new String[] {"Line 1", 
                 "Line 2", 
                 "Line 3"}, true); 
    } 
} 
+0

那麼,爲什麼不在構造PrintWriter的時候擺脫'if'並僅僅使用'append'作爲第二個參數呢?將9行代碼和註釋合併爲一個? – EJP

0

在您發佈的代碼中,只需將lineFromInput更改爲想要輸出到文本文件的任何字符串即可。

0

我猜你在做什麼是在java中使用文件操作將輸出寫入文件,但是您想要的操作可以通過以下簡單方式完成 - 無需代碼即可完成此操作。輸出可以被重定向

file > outputfile 

這是獨立於java。

相關問題