求助java使用RandomAccessFile流将一个文本文件倒置读出。用文本框和滚动杆来输出结果

来源:百度知道 编辑:UC知道 时间:2024/05/30 05:00:18
import java.awt.*;
import java.io.*;
public class daozhi{
public static void main(String args[]){

RandomAccessFile in=null;
try{ in=new RandomAccessFile("gonglve.txt","rw");
long length=in.length(); //获取文件的长度
//long position=0;
for(long i=length-1;i>=0;i--){
in.seek(i*4);
// while(position<length){
String str=in.readLine();
byte b[]=str.getBytes("iso-8859-1");
str=new String(b);
// position=in.getFilePointer();
System.out.println(str);
//}
}
}
catch(IOException e){}
}
}

这个代码编译的时候没有问题,但是运行的时候会出现异常
Exception in thread "main" java.lang.NullPointerException
at daozhi.main(daozhi.java:14)
为什么?

import java.awt.Container;
import java.io.*;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class daozhi {

public static void main(String args[]) {

RandomAccessFile in = null;
try {
in = new RandomAccessFile("d:/demo.txt", "rw");
long length = in.length(); //获取文件的长度
long i=length-1;
char ch;
String s="";
while(i>=0){
in.seek(i);//设置文件指针
ch = (char) in.read();
s += ch;
i--;
}
showText(s);
} catch (IOException e) {
}
}
public static void showText(String s){
JFrame f=new JFrame("SetText");//frame
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//close
f.setBounds(0, 0, 300, 200);//location,sise
Container content=f.getContentPane();//panel