android文件内容的疑问?

纠结的木棉花 2011-04-21 07:11:23
public static void method2(String fileName, String content) {
try {
// 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
FileWriter writer = new FileWriter(fileName, true);
writer.write(content);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhq56030207/archive/2011/04/21/6339401.aspx
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhq56030207/archive/2011/04/21/6339401.aspx
怎么在追加内容的时候判断,跟前一条重复的话就不追加在后面呢?
...全文
118 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
inuyasha_qt 2011-09-13
  • 打赏
  • 举报
回复
可以直接得到这个文件内容的长度不?
然后直接 fis.read(temp, 0, length);
inuyasha_qt 2011-09-13
  • 打赏
  • 举报
回复
哇 唐雨柔~~~

谢谢
纠结的木棉花 2011-04-28
  • 打赏
  • 举报
回复
怎样控制写入的txt的文字的换行呢?
纠结的木棉花 2011-04-28
  • 打赏
  • 举报
回复
我就想是不是我没有用readline?
FileInputStream file = new FileInputStream(Filename);

可是file.read只有read方法,没有readline?
[Quote=引用 13 楼 zhq56030207 的回复:]
我在textView里面写的每一个都有换行的
可是把textview里面的东西导入sd卡文件的时候
换行不见了 直接一大篇文字~~~
[/Quote]
纠结的木棉花 2011-04-28
  • 打赏
  • 举报
回复
我在textView里面写的每一个都有换行的
可是把textview里面的东西导入sd卡文件的时候
换行不见了 直接一大篇文字~~~
安卓机器人 2011-04-28
  • 打赏
  • 举报
回复
equals不可以吗
开源螺丝钉 2011-04-28
  • 打赏
  • 举报
回复

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");
}

}
开源螺丝钉 2011-04-28
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zhq56030207 的回复:]

怎样控制写入的txt的文字的换行呢?
[/Quote]
_追加写文件("c:/test.txt", "你哦好\n大家好\n");
用\n写入后 会换行的
纠结的木棉花 2011-04-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 landerson 的回复:]
用不着这么麻烦吧,
第一:取到你当前要写入内容的BYTE【】对像
第二:读取你要写入文件最后结尾到你第一的BYTE[]对像的长度
第三:然后直接BYTE[]对比,相同就跳过,不相同就写入

注:打开文件时要求读、写权限
[/Quote]
( ⊙o⊙ )哇 还是不知道如何写
landerson 2011-04-23
  • 打赏
  • 举报
回复
用不着这么麻烦吧,
第一:取到你当前要写入内容的BYTE【】对像
第二:读取你要写入文件最后结尾到你第一的BYTE[]对像的长度
第三:然后直接BYTE[]对比,相同就跳过,不相同就写入

注:打开文件时要求读、写权限
纠结的木棉花 2011-04-22
  • 打赏
  • 举报
回复
额~~~怎么做呢??
yongyuandeni 2011-04-22
  • 打赏
  • 举报
回复
你只有自己判断了,在追加之前把文件的最后跟要追加的长度相同的内容读取出来,然后比较,如果相同就不要追加不相同就写到文件中
开源螺丝钉 2011-04-22
  • 打赏
  • 举报
回复
手机打代码不方便。 一、获取追加内容字节长度 = _clong。 二、读取文件最后 _clong个字节。 三、把获取的字节数组转成String。 四、对比判断。
纠结的木棉花 2011-04-22
  • 打赏
  • 举报
回复
请知道的朋友们帮帮忙
开源螺丝钉 2011-04-22
  • 打赏
  • 举报
回复
临时文件.writeBytes(追加内容);
换成
临时文件.write(追加内容.getBytes());
否则中文乱码。
开源螺丝钉 2011-04-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zhq56030207 的回复:]

额~~~怎么做呢??
[/Quote]

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) {
}
}

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧