我想实现的功能是这样的:我每次进行删除数据操作时,要把这条数据的ID值放到记事本里去,并可以累加还有就是 读出该文件里的所有ID值 请问高手们该怎么办呢?

解决方案 »

  1.   

    这个数据库解读很方便LZ想要模拟类似ORACLE数据库序列的功能吧并且记录全部
    LZ这就是个文件的1。读  和 2。续写问题读出该文件里的所有ID值我帮您搜了个
    http://topic.csdn.net/u/20090508/12/0d26c52e-98c5-44ca-a95a-0b2d43fd5d9f.html
      

  2.   

    可以用RandomAccessFile,一般用来写日志用的,可以查一下API或例子。
      

  3.   

    这是别人写的一个例子,你可以稍改改。 public void writeLog(String logFileName, String content) {
    try {
    /* 日志文件大小最大为100KB */
     File log = new File(logFileName);
    if (log.length() > 102400) {
    if (log.delete())
    System.out.println("日志文件: " + logFileName + " 已满, 已经自动清空.");
    }
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss ");
    RandomAccessFile raf = new RandomAccessFile(logFileName, "rw");
    String contents = content + "\r\n";
    raf.seek(raf.length());
    raf.write(contents.getBytes("GBK"));
    raf.close();
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
      

  4.   

    public void addDelLog (String id) throws Exception {
    File file = new File("E:/delLog.log");
    OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(file,true));
    out.write(id + "|");
    out.close();
    }这样出来的值就是 id|id|id|  了,读取的时候根据|分割字符串就行了,不知道楼主是不是这个意思
      

  5.   


    1. 用setting.values可以得到所有值,然后输出就可以了。 2. 用setting.entrySet可以得到Map.Entry的Set,就可以循环了 
      或者keySet方法得到key的循环,再getProperty 哪位高手能否用代码举个例子
      

  6.   

    private Properties setting; 
    private File file; 
      

  7.   

    package com.ufoo.portal.utils;import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.util.Properties;public class IoFileOperation {

     private Properties setting;
         private File file;
     public void dd(String path)
     {  
     setting = new Properties();
         try
         {
         file = new File(path+ "/" + "log.txt"); //创建文件log.txt 自己在D盘把sims_log 文件夹建好
         if(!file.exists()) //若文件不存在
         {
          File parentDir=new File(file.getParent());
          if(!parentDir.exists())
          {
           parentDir.mkdirs();
          }
          file.createNewFile(); //新建
         }
         setting.load(new FileInputStream(file)); //载入文件
         }
         catch(Exception e)
         {
         }
     }
     public void setInformation(String memberID,String id,String path)
     {
       dd(path);
       try{
         setting.setProperty(memberID, id);
         setting.store(new FileOutputStream(file,true), "");
       }
        catch(Exception e)
        {
         e.printStackTrace();
        }
     }
     
     public String getInformation(String path,String memberID)
     {
       dd(path);
       String dd= setting.getProperty(memberID); //获得用户名
       System.out.println(dd);
       return dd;
     }
    }这个只能打印出最后一行数据 怎么才能循环 打印出数据呢!?有人这样建议我:
    1. 用setting.values可以得到所有值,然后输出就可以了。 2. 用setting.entrySet可以得到Map.Entry的Set,就可以循环了 
      或者keySet方法得到key的循环,再getProperty 哪位高手能否用代码举个例子
      

  8.   

    你想要什么效果?如果是同一个key的话,value值默认取最后一个,你是想定义多个同名的key,然后把这些值都读出来?
    还是把所有不同名的key的值全部读出来?
      

  9.   

    public void fileWriter(){        //存放ID
    FileWriter fw=null;
    int b=0;
    String a[]=new String[5];
    for(int i=0;i<a.length;i++){
    a[i]=""+i+"";
    }
    try {
    fw=new FileWriter("d:\\bb.txt",true);
    for(int j=0;j<a.length;j++){
    fw.write(a[j]);
    if(j!=a.length-1){
    fw.write(",");
    }
    }
    fw.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }

    public void  fileReader(){      // 读取ID
    FileReader fr=null;
    int c=0;
    StringBuffer sb=new StringBuffer();
    try {
    fr=new FileReader("d:\\bb.txt");
    while((c=fr.read())!=-1){
    sb.append((char)c);
    }
    String []str=(sb.toString()).split(",");
    for(int i=0;i<str.length;i++){
    System.out.print("id="+str[i]+"    ");
    }
    fr.close();
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
      

  10.   

    成了编程题了。 /**
     * 获得所有属性值
     * 
     * @param path
     */
    public void getAllInformation(String path) {
    dd(path);
    Iterator it = setting.keySet().iterator();
    String dd = "";
    while (it.hasNext()) {
    // 获得key
    dd = it.next().toString();
    // 获得用户名
    System.out.println(dd + "=" + setting.getProperty(dd));
    }
    }
      

  11.   

    String path="D:/文件名.txt";
    File file=new File(path);


    /**
     * 写入id到你的txt文件,不需要判断创建与否
     */
            try {
    OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(file,true));
    //你只要删除的时候就调用这个方法
    out.write("id" + "\r\n");//这个id是你的ID 每个id一行
    out.close();
    } catch (FileNotFoundException e1) {
    e1.printStackTrace();
    } catch (IOException e1) {
    e1.printStackTrace();
    }



    /**
     * 读取id
     */
            
    try {
    BufferedReader input=new BufferedReader(new FileReader(file));
    ArrayList array=new ArrayList();
    try {
    while(input.readLine()!=null){
    array.add(input.readLine());


    }
    System.out.print(array.size());
    } catch (IOException e) {
    e.printStackTrace();
    }
    } catch (FileNotFoundException e) {
    e.printStackTrace();