---------------------- ASP.Net+Android+IO開發S 、 .Net教育訓練 、期待與您交流! ----------------------
前言:
這個項目我做起來感覺還是滿綜合的,,基本覆寫到了java基礎的全部内容,,我發帖的思路是由易到難得,,
結合執行個體幫助新手了解Java程式設計思想。。全部講完之後,,我會把源代碼和做好的小程式發出來給大家玩,,,,現在主要是把思路給大家!~~
[原創]DVD管理系統項目之一--使用IO流模拟SQL
問題說明:
集合中儲存的資料都在記憶體中,在關閉程式後就消失了,,是以我們用一個TXT檔案來儲存資料,,
類似于資料庫的操作,,,隻是簡化了,,增删改查,,,,隻在必要時,進行資料的互動。
先上圖:

上圖是檔案結構,
我這裡推薦用反射來擷取相對位址,,你可以試試,,
我的代碼如下:
- // io入口!!!!!!!!!!!!!!!!!!!!!
- // 批量導入---添加
- addall.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- // TODO Auto-generated method stub
- JFileChooser jf = new JFileChooser();
- jf.showOpenDialog(MiniDVD.this);
- try {
- File file = jf.getSelectedFile();
- FileWriter fw = new FileWriter("DVDsql.txt", true);
- FileReader fr = new FileReader(file);
- char[] buf = new char[1024];
- int num = 0;
- while ((num = fr.read(buf)) != -1) {
- fw.write((new String(buf, 0, num)));
- }
- fr.close();
- fw.close();
- } catch (FileNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
複制代碼
- delAll.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent arg0) {
- // TODO Auto-generated method stub
- try {
- FileWriter clean = new FileWriter("DVDsql.txt", false);
- clean.write("\r\n");
- clean.close();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- labDialog.setText("所有資料已删除!");
- d.setVisible(true);
- }
複制代碼
- // 讀取mysql
- String[] readSQL() throws IOException {
- String[] str;
- StringBuffer sb = new StringBuffer();
- FileReader fileReader = null;
- fileReader = new FileReader("DVDsql.txt");
- char[] buf = new char[1024];
- int num = 0;
- while ((num = fileReader.read(buf)) != -1) {
- sb.append(new String(buf, 0, num));
- }
- fileReader.close();
- str = split(sb);
- return str;
- }
- // 切割器
- String[] split(StringBuffer sb) {
- return sb.toString().split("\r\n");
- }
- // 儲存
- void toSave() {
- try {
- FileWriter save = new FileWriter("DVDsql.txt", true);
- for (DVD eachDVD : myDVD) {
- String eachDVDName = eachDVD.getName();
- save.write(eachDVDName + "\n");
- }
- } catch (IOException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- }
複制代碼
如果你有更好的解決代碼,可以和我交流,十分感謝。。。。
---------------------- ASP.Net+Android+IO開發S 、 .Net教育訓練 、期待與您交流! ----------------------