import java.io.*;public class Cs {
public static void main(String[] args) {
try{
File f = new File("d:/t.txt");
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
int value = Integer.parseInt(br.readLine() == null? "0" : br.readLine());
value ++;
FileWriter fw = new FileWriter(f);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(value); //在记事本里的值为乱码
//bw.write(value+""); //传字符串进去就没问题,请问为什么?
bw.flush();
bw.close();
}catch(IOException e) {
e.printStackTrace();
}
}
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【ABF_Sunyan】截止到2008-07-22 22:37:49的历史汇总数据(不包括此帖):
    发帖的总数量:3                        发帖的总分数:30                       每贴平均分数:10                       
    回帖的总数量:2                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:3                        结贴的总分数:30                       
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    敬礼!
      

  2.   

    BufferedReader br=new BufferedReader(new FileReader(""));
    BufferedWriter bw=new BufferedWriter(new FileWriter(""));String line=br.readLine();
    while(line!=null){
       bw.write(line+"\r\n");
       line=br.readLine();
    }bw.close();
    br.close();br.readLine()得到的是字符串,楼主为何要把它变为整型?
      

  3.   

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;public class Cs { public static void main(String[] args) {
    try {
    File f = new File("d:/t.txt");
    FileReader fr = new FileReader(f);
    BufferedReader br = new BufferedReader(fr);
    //int value = Integer.parseInt(br.readLine() == null ? "0" : br.readLine());
    //你上面代码会读取两次的*****************************************************
    String s = br.readLine();
    int value = s == null ? 0 : Integer.parseInt(s);
    //**************************************************************************
    value++;
    FileWriter fw = new FileWriter(f);
    BufferedWriter bw = new BufferedWriter(fw);
    //bw.write(value);  //在记事本里的值为乱码?此方法是将编码值为 value 的字符存入文件
    //bw.write(value+"");  //传字符串进去就没问题,请问为什么?
    //更好的方式*****************************************************************
    bw.write(Integer.toString(value));
    //**************************************************************************
    bw.flush();
    bw.close();  //最好把关闭输入输出流的操作放到 finally 块里
    } catch (IOException e) {
    e.printStackTrace();
    }
    }}
      

  4.   

    sagezk:谢谢你的回答,看完你的回答我又仔细才看了下API文档,弄明白了,不过你为什么说我写的这句 //int value = Integer.parseInt(br.readLine() == null ? "0" : br.readLine());
    会读取两次呢 ? 出现乱码的问题应该是你说的这句“此方法是将编码值为 value 的字符存入文件”
      

  5.   


    Integer.parseInt(br.readLine() == null ? "0" : br.readLine()); 当 br.readLine() == null 时读一次,如果条件成立 : 后又读了一次。
      

  6.   

    恩 对 呵呵 那他读两次应该和那个乱码没关系吧 ?我觉着乱码就应该是你说的“此方法是将编码值为 value 的字符存入文件”这个引起的 对吗?