有个文件生成类,生成服务器日志信息,写入一个文件info1.txt1.如果这个文件 info1.txt 达到2M,那么就从新生成一个文件 info2.txt 继续记录,如果info2.txt到了2M,就再生成一个info3.txt.......2.如果这个文件 info1.txt 字数达到2000字符,那么就从新生成一个文件 info2.txt 继续记录,如果info2.txt到了2M,就再生成一个info3.txt.......
想实现两个上述的方法,有什么思路,主要是需要File类的那些函数

解决方案 »

  1.   

    用log4j不是会更简单一些吗?
      

  2.   

    我知道log4j是日志工具包,不过我问的跟它没关系补充下
    2M的文件  转为 Long   值大概是多少? 
    5000字符  转为   Long   值大概是多少?   UTF8下"A"和"正"的字符   Long是多少,非UTF8下"A"和"正"的字符   Long是多少?org.apache.commons.io.input.CountingInputStream
    有谁了解么?
      

  3.   

    往流中写数据时,写了多少BYTE应该是可以计算的吧.
      

  4.   

    File   n   =   new   File("c:\\mm.txt");   
    long   l   =   n.length();//File.length()返回以字节为单位的长度   
      

  5.   

        /**
         * 向文件写入运行状态日志
         * @param filepath 日志文件保存路径,"\\"结尾
         * @param text 日志内容
         * @param num 生成日志文件编号
         */
    public static void LogToFile(String filepath,String text)
    {
    try{
    File f=new File(filepath+pathY+"\\"+pathM+"\\"+pathD);
    f.mkdirs();
    RandomAccessFile fout = new RandomAccessFile(f+"\\"+"log"+num+".html","rw");
    if(fout.length()>20000)//20KB大小
    {
    fout = new RandomAccessFile(f+"\\"+"log"+num+".html","rw");
    LogOut.num=LogOut.num+1;
    }
    fout.seek(fout.length());
    fout.writeBytes(new String(("<div style=\"margin:4px 0;color:darkblue;font-size:12px;\">"+text+"</div>").getBytes("UTF8"),"ISO-8859-1"));
                    fout.close();
    }catch(Exception e)
    {e.printStackTrace();}
    }还是J2SE/基础类板块里的兄弟们实在,某些隔壁板块的所谓程序员除了会几个框架,工具包外就P也不懂了,动不动就拿个"重复的轮子"说事,非常让人反感.我在解决我的问题,不懂就看好了,不要扯其他的,如果非要扯,就扯出点东西来.代码扯不出来,你扯点思路.大家说是不是这个道理?
    感谢前边朋友的回答.