Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Java SE 综合讨论区
打印话题 寄给朋友 订阅主题 |
作者 | 基于对象的读写的问题,菜鸟问题,望指教,谢谢!! |
zhjdenis
发贴: 15 积分: 0 |
于 2007-11-01 19:03
我感觉编写没有什么问题,可是调用这个类的时候总是抛出。实现***能是将一个存着数据的hashmap对象存入recordtxt这个文件中(我定义的时候用的是个C:\123.txt);我使用时都前生成了该类的对象,并且我也看到确实存在着这个recordtxt被生成了。这个类中一共有3个方法,但是都会抛出该异常。java.io.FileNotFoundException: C:\zhjdenis.txt (拒绝访问。) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(Unknown Source) at java.io.FileOutputStream.<init>(Unknown Source) at 注册表修改界面.AboutRecord.<init>(AboutRecord.java:47) package 注册表修改界面; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.HashMap; import java.util.Map; public class AboutRecord { Map<File, String> hashmap; Map<File, String> map2; File storetxt; public AboutRecord(File recordtxt){ storetxt=recordtxt; try { if(!storetxt.exists()) { storetxt.createNewFile(); hashmap=new HashMap<File, String>(); hashmap.put(storetxt, "locked"); ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream(storetxt)); out.writeObject(hashmap); out.flush(); out.close(); Runtime.getRuntime().exec("attrib "+storetxt+" +h"); } else { Runtime.getRuntime().exec("attrib "+storetxt+" +h"); ObjectInputStream in=new ObjectInputStream(new FileInputStream(storetxt)); try { map2=(HashMap)in.readObject(); in.close(); } catch (ClassNotFoundException e) { e.printStackTrace();} map2.put(storetxt, "locked"); ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream(storetxt)); out.writeObject(map2); out.flush(); out.close(); } } catch (IOException e1) { e1.printStackTrace();} } //将一个新的对应关系加入到hashmap并再次写入文件 void addnewoperationfile(String filename) { File file=new File(filename); try { ObjectInputStream in=new ObjectInputStream(new FileInputStream(storetxt)); map2=(HashMap)in.readObject(); in.close(); map2.put(file, "locked"); modifyregedit.changedcontent3.append(filename); modifyregedit.changedcontent3.append("\tlocked\n"); ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream(storetxt)); out.writeObject(map2); out.flush(); out.close(); } catch (FileNotFoundException e) { System.out.println("zhjdenis1");//这个一般会被打印,也就是说这有抛出的异常 } catch (IOException e) { System.out.println("zhjdenis2"); } catch (ClassNotFoundException e) { System.out.println("zhjdenis3"); } } //查看写入文件中的hashmap中的内容 public void showpastoperation() { try { if(!storetxt.exists()) return; ObjectInputStream in=new ObjectInputStream(new FileInputStream(storetxt)); map2=(HashMap)in.readObject(); in.close(); modifyregedit.changedcontent3.setText(""); for(Map.Entry<File, String> entry:map2.entrySet()) { File key=entry.getKey(); String value=entry.getValue(); modifyregedit.changedcontent3.append(key.getAbsolutePath()); modifyregedit.changedcontent3.append("\t"+value+"\n"); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } //将指定的数据从hashmap中删除,然后将更新后的hashmap写回文件 public void searchAndUnlock(String filename) { File file=new File(filename); System.out.println(filename); try { ObjectInputStream in = new ObjectInputStream(new FileInputStream(storetxt)); map2=(HashMap)in.readObject(); in.close(); if(map2.containsKey(file)) { map2.remove(file); ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream(storetxt)); out.writeObject(map2); out.flush(); out.close(); Modifyattribution.UnModifyattribution(filename); modifyregedit.changedcontent3.append("\n已经成***解锁"+filename+"\n"); } else modifyregedit.changedcontent3.append("\n"+file.getAbsolutePath()+" 未被隐藏或非正确的文件名"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } } 25了才开始学JAVA晚吗? |
话题树型展开 |
人气 | 标题 | 作者 | 字数 | 发贴时间 |
8461 | 基于对象的读写的问题,菜鸟问题,望指教,谢谢!! | zhjdenis | 4382 | 2007-11-01 19:03 |
6732 | Re:基于对象的读写的问题,菜鸟问题,望指教,谢谢!! | zhjdenis | 130 | 2007-11-02 11:30 |
6635 | Re:基于对象的读写的问题,菜鸟问题,望指教,谢谢!! | andy_wang_5 | 339 | 2007-11-02 16:54 |
6849 | Re:基于对象的读写的问题,菜鸟问题,望指教,谢谢!! | JiafanZhou | 754 | 2007-11-02 22:30 |
6962 | Re:基于对象的读写的问题,菜鸟问题,望指教,谢谢!! | andy_wang_5 | 211 | 2007-11-02 17:11 |
6582 | Re:基于对象的读写的问题,菜鸟问题,望指教,谢谢!! | zhjdenis | 44 | 2007-11-02 18:30 |
已读帖子 新的帖子 被删除的帖子 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |