下面这段程序运行后显示字符串索引越界,怎么改呢?
importjava.io.*;publicclassRandomAccessFileDemo{publicstaticvoidmain(String[]args){Ra...
import java.io.*;
public class RandomAccessFileDemo{
public static void main(String[] args){
RandomAccessFile raf=null;
try
{
//以随机访问方式读写本源程序文件
raf=new RandomAccessFile("HelloWorld.java","rw");
System.out.println("执行前文件指针的位置为:"+raf.getFilePointer());
byte[] buf=new byte[20];
int hasRead=0;
//循环读取文件
while ((hasRead=raf.read(buf))>0);
{
System.out.print(new String(buf,0,hasRead));
}
System.out.println("执行前文件指针的位置为:"+raf.getFilePointer());
System.out.println("文件的长度为:"+raf.length());
//将文件指针移向文件的末尾
raf.seek(raf.length());
//在文件末尾追回下面的字符串
raf.write("//这是追加的内容".getBytes());
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
//关闭流
try
{
if(raf!=null)
raf.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
} 展开
public class RandomAccessFileDemo{
public static void main(String[] args){
RandomAccessFile raf=null;
try
{
//以随机访问方式读写本源程序文件
raf=new RandomAccessFile("HelloWorld.java","rw");
System.out.println("执行前文件指针的位置为:"+raf.getFilePointer());
byte[] buf=new byte[20];
int hasRead=0;
//循环读取文件
while ((hasRead=raf.read(buf))>0);
{
System.out.print(new String(buf,0,hasRead));
}
System.out.println("执行前文件指针的位置为:"+raf.getFilePointer());
System.out.println("文件的长度为:"+raf.length());
//将文件指针移向文件的末尾
raf.seek(raf.length());
//在文件末尾追回下面的字符串
raf.write("//这是追加的内容".getBytes());
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
//关闭流
try
{
if(raf!=null)
raf.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询