FileReader fr = new FileReader("D:\\File_Src/abc.txt");
BufferedReader br = new BufferedReader(fr);
String numval = br.readLine();
br.close();

int times = Integer.parseInt(numval);
//增加一次
times++;
//再将新的次数写回文件
FileWriter fw = new FileWriter("D:\\File_Src/abc.txt");
BufferedWriter bw = new BufferedWriter(fw);
bw.write(times);
bw.close();我用这个小示例写个 简单的网站计数器  在 abc.txt 中 初次写个零 当我第一次登陆成功 会+1 给我第一次登陆  读出来在写入后  打开文件发现是个空格但里面好像有东西  在读就会出错了  ; 这是字符集问题吗  大家教教我怎么解决! 谢谢

解决方案 »

  1.   

    bw.write(times);
    写成 bw.write(times+"");
    不是,因为你的文件是空的,没有数据。
      

  2.   

    是报什么错误?
    Integer.parseInt()有可能会报NumberFormatException把读上来的字符串trim一下。
      

  3.   

    空格转换不了 int 呗  是不是
      

  4.   

    有道理!--signature------------------------------------
    www.qinglobo.com
      

  5.   

    你的写入方式虽然能写入,但是写入后是一些自己都看不懂的东西,因为你少了一个操作
    FileReader fr = new FileReader("D:\\File_Src/abc.txt");
    BufferedReader br = new BufferedReader(fr);
    String numval = br.readLine();
    你应该在是这样
    FileOutputStream fo=new FileOutputStream("F:\\a.txt");
    OutputStreamWriter os=new OutputStreamWriter(fo);
    BufferedWriter bw=new BufferedWriter(os);
    这样更准确,一步一步的封装低级流!
    试试了,看看文件里面的还是不是特殊字符了
      

  6.   

    你的写入方式虽然能写入,但是写入后是一些自己都看不懂的东西,因为你少了一个操作
    FileReader fr = new FileReader("D:\\File_Src/abc.txt");
    BufferedReader br = new BufferedReader(fr);
    String numval = br.readLine();
    你应该在是这样
    FileOutputStream fo=new FileOutputStream("F:\\a.txt");
    OutputStreamWriter os=new OutputStreamWriter(fo);
    BufferedWriter bw=new BufferedWriter(os);
    这样更准确,一步一步的封装低级流!
    试试了,看看文件里面的还是不是特殊字符了
      

  7.   

    以字符的形式写入就行了。。FileReader fr = new FileReader("e:\\a.txt");
    BufferedReader br = new BufferedReader(fr);
    String numval = br.readLine();
    br.close();
    br.close(); int times = Integer.parseInt(numval);
    //增加一次
    times++;
    //再将新的次数写回文件
    FileWriter fw = new FileWriter("e:\\a.txt");
    BufferedWriter bw = new BufferedWriter(fw);
    char[] c = {(char)('0'+times)};
    bw.write(c,0,c.length);
    bw.close();
    fw.close();