2013-08-05 27 views
1

我如何:寫在txt文件,編輯,顯示在JOptionPane中

寫在.txt文件:在一個.txt:自動創建100條空記錄(記錄ID,姓名,年齡等字段)文件在程序的開始。記錄ID不會是空白

編輯:JOptionPane我將進入一個記錄ID(從1-100)將數據添加或編輯的空白記錄,記錄ID不能被編輯

顯示:我將進入一個記錄id和所有相應的數據將顯示在JOptionPane(我知道如何使用JOptionPane顯示的東西,但我不知道如何從一個.txt文件僅顯示與所選數據)

任何人都可以請幫助我如何做這樣的程序? 我知道java,但我仍然是一個noob。

到目前爲止,這是我得到的。不知道下一步該怎麼做

import java.io.BufferedWriter; 
import java.io.File; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.OutputStreamWriter; 
import java.io.Writer; 

public class writer { 
public void writing() { 
    try { 
     File Text = new File(filepath here); 
     FileOutputStream FOS = new FileOutputStream(Text); 
     OutputStreamWriter OSW = new OutputStreamWriter(FOS);  
     Writer w = new BufferedWriter(OSW); 
     for(int x=1;x<101;x++){ 
     w.write("Account #"+x); 
     }w.close(); 
    } catch (IOException e) { 
     System.err.println("Problem writing to the file!"); 
    } 
} 

public static void main(String[]args) { 
    writer write = new writer(); 
    write.writing(); 
} 
} 
+0

只有100條記錄,您可以創建一個以id爲關鍵字的地圖。如果文件存在,請讀取該文件並將其存儲在地圖中。您可以在需要時編輯它。要顯示,請在地圖中找到該鍵並顯示其內容。像這樣開始,並顯示一些您嘗試過的代碼,然後我們會幫助您。 –

+0

爲什麼要使用.txt文件?這是要求嗎?你可以爲此Java地圖。 – Makky

+0

是的.txt文件thingy是一個要求 –

回答

1

好吧,這聽起來很像功課,所以我給你一些指點應該希望讓你自己發現的結果與一些針對搜索...

取決於你希望有多少數據就擺在.txt文件,你可能想通過手工編輯,CSV格式:

accountId,name,age,etc

您正在尋找有100條記錄 - 而你可以這樣做,你可以開始只需手工創建一小撮,作爲第一步,然後再寫點東西來製作記錄。然後,你需要設計你的模型(即Account對象),這可能是一個普通的舊Java對象(PO​​JO),它是一個標準的類,有一些私有屬性,以及getter和setter訪問存儲在其中的數據。

您還需要讀取源數據文件並將它們轉換爲稍後將使用的(Account)對象 - 在這種情況下,我喜歡使用BufferedReader類,因爲它允許您讀入一個文本文件中一氣呵成整條生產線:

BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(new (File("/path/to/file")))));

然後,您可以在一個行的文件與String line = reader.readLine()

看在String類可用,看是否方法來讀取你可以找到一個合適的方法來打破一個字符串,基於一個給定的分隔值(在這裏是一個逗號,因爲它是csv) - 然後創建一個新的Account對象並用提供的值填充它。

幾個人(正確地)指出,使用Map的存儲創建的對象 - 提示:查找HashMap(帳戶ID可能是關鍵)

當涉及到從用戶獲取輸入,JOptionPane.showInputDialog()將是你需要(爲父級可null

我希望這是足以讓你走,實際上並沒有完成你的功課,爲你做什麼。 如果您有更多問題,請隨時提問。