文件随机读写的问题,在线给分! 可以通过seek()方法设置文件指针位置 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 RandomAccessFile 可以随机读取public class RandomAccessFile类{ public static void main(String[] args) {RandomAccessFile in_and_out=null; int data[]={124,389,33,256,-90,34,21,7,100,25}; try {in_and_out=new RandomAccessFile ("write_in_here.txt","rw"); } catch(FileNotFoundException e) {System.out .println ("??????"); } catch(IOException e) {System.out .println ("??????"); } try {for(int i=0;i<data.length;i++) in_and_out.writeInt(data[i]); for(int i=data.length -1;i>=0;i--) {in_and_out.seek (i*4); System.out .print (","+in_and_out.readInt ()); } in_and_out.close (); } catch(IOException e) {System.out .println ("??????"); } }}这是一个例子,你用的照得尽管用。(绝不追究版权问题^_^) newman0708(春华) :谢谢 呵呵。我的程序是这样的:RandomAccessFile fout = new RandomAccessFile(targetFileName,"rw");String nextLine = fout.readLine();while(nextLine != null){ if(nextLine.indexOf("</tag>") != -1) { fout.setLength(fout.length() + insertStr.length()); fout.writeBytes("\r\n"); } nextLine = fin.readLine(); }我的意思是每读取到一行含有</tag>的行,就在这一行后加一个空行。但上面这段程序却把文件后面的字符覆盖了。该怎么作? 当然会件后面的字符覆盖!你要是不copy一份的话是无法办到的!除非用数据库!用xml其实也是把内容解析后copy到ram的,但对用户是透明的!可能你用起来感觉会爽一点! 当然会件后面的字符覆盖!你要是不copy一份的话是无法办到的!除非用数据库!用xml其实也是把内容解析后copy到ram的,但对用户是透明的!可能你用起来感觉会爽一点! 建一个字符串缓存(StringBuffer),读取的内容放到这个缓存中,操作完毕后,再删除源文件,重新写入就可以了. 谢谢大家,马上就给分。还有少许问题:StringBuffer可以存储多大?如果用java做一个高效的字处理软件,实现“保存”功能的时候是不是把编辑器里所有的内容读取到一个StringBuffer,然后像 haichuang(不戒和尚)说的那样,删除文件后再重新写入?这样作对大文件可以吗? 可以2G ,就是int的范围!哪要看你做怎样一个软件了!没字体的话,应该是这样! java se 55555555遭遇XSS跨站漏洞啊。不知道怎么解决 关于使用jdk的lib中的native函数遇到的问题。 ava正则匹配问题 一个toString()的问题 如何将这行c#接口转化成java接口,再线等,谢谢 如何把Image对象存为.jpg文件? 我想不通是不是??? 编译错误,求救! 请JAVA入行人帮帮忙: 请教:基于GUI的java小程序 如何获取JButton上的文本?
public class RandomAccessFile类
{
public static void main(String[] args)
{RandomAccessFile in_and_out=null;
int data[]={124,389,33,256,-90,34,21,7,100,25};
try
{in_and_out=new RandomAccessFile ("write_in_here.txt","rw");
}
catch(FileNotFoundException e)
{System.out .println ("??????");
}
catch(IOException e)
{System.out .println ("??????");
}
try
{for(int i=0;i<data.length;i++)
in_and_out.writeInt(data[i]);
for(int i=data.length -1;i>=0;i--)
{in_and_out.seek (i*4);
System.out .print (","+in_and_out.readInt ());
}
in_and_out.close ();
}
catch(IOException e)
{System.out .println ("??????");
}
}
}
这是一个例子,你用的照得尽管用。(绝不追究版权问题^_^)
我的程序是这样的:
RandomAccessFile fout = new RandomAccessFile(targetFileName,"rw");
String nextLine = fout.readLine();
while(nextLine != null)
{
if(nextLine.indexOf("</tag>") != -1)
{
fout.setLength(fout.length() + insertStr.length());
fout.writeBytes("\r\n");
}
nextLine = fin.readLine();
}
我的意思是每读取到一行含有</tag>的行,就在这一行后加一个空行。但上面这段程序却把文件后面的字符覆盖了。该怎么作?
除非用数据库!用xml其实也是把内容解析后copy到ram的,
但对用户是透明的!
可能你用起来感觉会爽一点!
除非用数据库!用xml其实也是把内容解析后copy到ram的,
但对用户是透明的!
可能你用起来感觉会爽一点!
还有少许问题:StringBuffer可以存储多大?
如果用java做一个高效的字处理软件,实现“保存”功能的时候是不是把编辑器里所有的内容读取到一个StringBuffer,然后像 haichuang(不戒和尚)说的那样,删除文件后再重新写入?
这样作对大文件可以吗?
没字体的话,应该是这样!