本帖最后由 zhq56030207 于 2011-04-21 19:12:27 编辑

解决方案 »

  1.   

    手机打代码不方便。
    一、获取追加内容字节长度 = _clong。
    二、读取文件最后 _clong个字节。
    三、把获取的字节数组转成String。
    四、对比判断。
      

  2.   


    public static void _追加写文件(String 文件路径 ,String 追加内容){
    int _追加内容字节长度 = 追加内容.getBytes().length;
    String _临时内容 ;
    byte[] _追加字节 = new byte[_追加内容字节长度];
    try{
    RandomAccessFile 临时文件 = new RandomAccessFile(文件路径, "rw");  
    long _临时文件字节长度 = 临时文件.length();
    if(_临时文件字节长度>=_追加内容字节长度){
    临时文件.seek(_临时文件字节长度-_追加内容字节长度);
    临时文件.read(_追加字节);
    _临时内容 = new String(_追加字节);
    if(_临时内容.equals(追加内容)){
    System.out.println("不追加");
    }else{
    临时文件.seek(_临时文件字节长度);
    临时文件.writeBytes(追加内容);
    System.out.println(追加内容);
    }
    }
    临时文件.close();
    }catch (Exception e) {
    }
    }
      

  3.   

    临时文件.writeBytes(追加内容);
    换成
    临时文件.write(追加内容.getBytes());
    否则中文乱码。
      

  4.   

    用不着这么麻烦吧,
    第一:取到你当前要写入内容的BYTE【】对像
    第二:读取你要写入文件最后结尾到你第一的BYTE[]对像的长度
    第三:然后直接BYTE[]对比,相同就跳过,不相同就写入注:打开文件时要求读、写权限
      

  5.   

    怎样控制写入的txt的文字的换行呢?
      

  6.   

    _追加写文件("c:/test.txt", "你哦好\n大家好\n");
    用\n写入后 会换行的
      

  7.   


    import java.io.RandomAccessFile;
    public class 追加写文件类 { public static void _追加写文件(String 文件路径 ,String 追加内容){
    int _追加内容字节长度 = 追加内容.getBytes().length;
    String _临时内容 ;
    byte[] _追加字节 = new byte[_追加内容字节长度];
    try{
    RandomAccessFile 临时文件 = new RandomAccessFile(文件路径, "rw");  
    long _临时文件字节长度 = 临时文件.length();
    if(_临时文件字节长度>=_追加内容字节长度){
    临时文件.seek(_临时文件字节长度-_追加内容字节长度);
    临时文件.read(_追加字节);
    _临时内容 = new String(_追加字节);
    if(_临时内容.equals(追加内容)){
    System.out.println("不追加");
    }else{
    临时文件.seek(_临时文件字节长度);
    临时文件.write(追加内容.getBytes());
    System.out.println(追加内容);
    }
    }else{
    临时文件.seek(_临时文件字节长度);
    临时文件.write(追加内容.getBytes());
    System.out.println(追加内容);
    }
    临时文件.close();
    }catch (Exception e) {
    }
    }
    public static void main(String[] args) {
    _追加写文件("c:/test.txt", "你哦好\n大家好\n");
    }}
      

  8.   

    我在textView里面写的每一个都有换行的
    可是把textview里面的东西导入sd卡文件的时候 
    换行不见了 直接一大篇文字~~~
      

  9.   

    我就想是不是我没有用readline?
    FileInputStream file = new FileInputStream(Filename);可是file.read只有read方法,没有readline?
      

  10.   

    可以直接得到这个文件内容的长度不?
    然后直接 fis.read(temp, 0, length);