2013-02-06 80 views
0

我想在java Eclipse中的控制檯中編寫幾行命令,然後將它們保存爲.txt文件。 比如我有如何將控制檯輸入的行保存爲.txt文件?

做到這一點

不這樣做

在我的控制檯,我想有同樣的事情爲.txt file.Now我可以將其轉換爲一個文件,但不一個.txt文件和不可讀的形狀。 有幫助嗎?我一直工作在這3天,現在:))

我認爲這是最接近我能得到

 FileInputStream fileInputStream=null; 

    File file = new File("C:\\Users\\Administrator\\Desktop\\a.txt"); 

    byte[] bFile = new byte[(int) file.length()]; 

    try { 
     //convert file into array of bytes 
    fileInputStream = new FileInputStream(file); 
    fileInputStream.read(bFile); 
    fileInputStream.close(); 

    //convert array of bytes into file 
    FileOutputStream fileOuputStream = 
       new FileOutputStream("C:\\Users\\Administrator\\Desktop\\a.txt"); 
    fileOuputStream.write(bFile); 
    fileOuputStream.close(); 

    System.out.println("Done"); 
    }catch(Exception e){ 
     e.printStackTrace(); 
    } 

回答

0

而不是使用的字節,我會建議使用文本流,如果你編寫文本文件。寫「Hello World」的文本文件,在「M:\ outputfile.txt」例如:

import java.io.*; 

public class FileIOExample { 

    public static void main(String[] args) { 
     PrintWriter out; 
     try { 
      out = new PrintWriter(new FileWriter("M:\\outputfile.txt")); 
      out.print("Hello "); 
      out.println("world"); 
      out.close(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 


    } 

} 
+0

忘了PrintWriter:D謝謝你問題解決了 – user2044260

0

new byte[(int) file.length()]導致問題

a.txt初始長度的線實際zeronon-existing您的代碼可能無法讀取任何字節。

instread我建議,

  • 有一個固定的緩衝區大小以讀取內容有可能退出creiteria。

  • 閱讀炭到一個流,並定義一樣,如果字符.equals()出口等

  • 最後寫入字節/字符到文件

提到的方法的一些示例代碼退出creiteria:

BufferedReader br = null; 
     Reader r = new InputStreamReader(System.in); 
     br = new BufferedReader(r); 
     String str = null; 
     try { 
      do{ 
       System.out.println("Enter Input, exit to quit."); 
       str = br.readLine(); 
       System.out.println(str); 
      } while (!str.equalsIgnoreCase("exit")); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
+0

我想輸入行然後按a鍵到ma ke程序顯示輸出並退出,不想每次輸出時都顯示輸出 – user2044260

+0

相應的修改代碼,這只是給你想法 – TheWhiteRabbit

+0

應該用分隔符嗎?它只是獲得第一行,什麼是輸入分隔符? \\ n? – user2044260

相關問題