android文件内容的疑问? 本帖最后由 zhq56030207 于 2011-04-21 19:12:27 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 手机打代码不方便。一、获取追加内容字节长度 = _clong。二、读取文件最后 _clong个字节。三、把获取的字节数组转成String。四、对比判断。 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) { } } 临时文件.writeBytes(追加内容);换成临时文件.write(追加内容.getBytes());否则中文乱码。 用不着这么麻烦吧,第一:取到你当前要写入内容的BYTE【】对像第二:读取你要写入文件最后结尾到你第一的BYTE[]对像的长度第三:然后直接BYTE[]对比,相同就跳过,不相同就写入注:打开文件时要求读、写权限 怎样控制写入的txt的文字的换行呢? _追加写文件("c:/test.txt", "你哦好\n大家好\n");用\n写入后 会换行的 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"); }} 我在textView里面写的每一个都有换行的可是把textview里面的东西导入sd卡文件的时候 换行不见了 直接一大篇文字~~~ 我就想是不是我没有用readline?FileInputStream file = new FileInputStream(Filename);可是file.read只有read方法,没有readline? 可以直接得到这个文件内容的长度不?然后直接 fis.read(temp, 0, length); android蓝牙开发,碰到诡异的事情了 android怎么实现图片裁剪功能 Android ProgressBar 求助 有没有人开发过这样的软件 android opengl ed 中onDrawFrame多久调用一次, 怎么设置spinner的滚动条一直显示 WebView在4.2上有时是空白界面??在2.3上是可以的 关于cwm recovery 能否通过shell命令操作传感器? Android提升之二 OOM解决方法 android ormlite 【高分求助】Android的libhardware_legacy.so是个什么?Android驱动高手请进~~~
一、获取追加内容字节长度 = _clong。
二、读取文件最后 _clong个字节。
三、把获取的字节数组转成String。
四、对比判断。
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) {
}
}
换成
临时文件.write(追加内容.getBytes());
否则中文乱码。
第一:取到你当前要写入内容的BYTE【】对像
第二:读取你要写入文件最后结尾到你第一的BYTE[]对像的长度
第三:然后直接BYTE[]对比,相同就跳过,不相同就写入注:打开文件时要求读、写权限
用\n写入后 会换行的
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");
}}
可是把textview里面的东西导入sd卡文件的时候
换行不见了 直接一大篇文字~~~
FileInputStream file = new FileInputStream(Filename);可是file.read只有read方法,没有readline?
然后直接 fis.read(temp, 0, length);