首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

真金不怕火炼,该怎么处理

2011-12-27 
真金不怕火炼packageRandomTest/****@authorZ*/importjava.io.*publicclassRandomAccessFileTest1{/**Cr

真金不怕火炼
package   RandomTest;

/**
  *
  *   @author   Z
  */
import   java.io.*;
public   class   RandomAccessFileTest1  
{
       
        /**   Creates   a   new   instance   of   RadomAccessFileTest   */
        File   f=new   File( "D:\\javaprogram\\src\\f1.txt ");//注意路径的表示
        public   int   lenn=8;
        public   int   lena=3;
        public   RandomAccessFileTest1()
        {
                String   strc=new   String( " ");
                String   strc1=new   String( " ");
                Person1   p1=new   Person1( "王五 ",25, "男 ");
                Person1   p2=new   Person1( "李四 ",24, "男 ");
                Person1   p3=new   Person1( "张三 ",23, "女 ");
                try
                {
                        RandomAccessFile   raf=new   RandomAccessFile(f, "rw ");
                        raf.writeChars(p1.name);
                        raf.writeChars(new   String().valueOf(p1.age));
                        raf.writeChars(p1.sex);
                       
                        raf.seek(0);
                        while(lenn> 0)
                        {
                                strc1=strc1+raf.readChar();
                                lenn--;
                        }
                        System.out.println(strc);
                       
                        while(lena> 0)
                        {
                                strc1=strc1+raf.readChar();
                                lena--;
                        }
                        System.out.println(strc1);
                       


                }
                catch(Exception   e)
                {
                      e.printStackTrace();
                }
        }
        public   static   void   main(String   args[])
        {
                RandomAccessFileTest1   raf=new   RandomAccessFileTest1();
        }
}


package   RandomTest;

/**
  *
  *   @author   Z
  */
public   class   Person1
{
        String   name;
        int   age;
        String   sex;
        public   static   int   lenn=8;
        public   static   int   lena=3;
        public   static   String   str=new   String();
        /**   Creates   a   new   instance   of   Person   */
        public   Person1(String   name,int   age,String   sex)  
        {
                str=str.valueOf(age);
                while(name.length() <lenn)
                                    this.name=name+ "\u0000 ";
                while(str.length() <lena)
                                                    str= "0 "+str;
                this.age=Integer.parseInt(str);
                this.sex=sex;
        }
       
}
这个程序运行的结果不是我想要的并且可能导致死机,大家要小心!!!及时杀死这个进程,请各位高人帮我找出原因

[解决办法]
改了点
先试试
import java.io.*;

public class RandomAccessFileTest1 {

/** Creates a new instance of RadomAccessFileTest */
File f = new File( "D:\\javaprogram\\src\\f1.txt ");// 注意路径的表示

public int lenn = 8;

public int lena = 3;

public RandomAccessFileTest1() {
String strc = new String( " ");
String strc1 = new String( " ");
Person1 p1 = new Person1( "王五 ", 25, "男 ");
Person1 p2 = new Person1( "李四 ", 24, "男 ");
Person1 p3 = new Person1( "张三 ", 23, "女 ");
try {
RandomAccessFile raf = new RandomAccessFile(f, "rw ");
raf.writeChars(p1.name);
// raf.writeChars(new String().valueOf(p1.age));
raf.writeChars(String.valueOf(p1.age));
raf.writeChars(p1.sex);

raf.seek(0);
while (lenn > 0) {
strc1 = strc1 + raf.readChar();
lenn--;
}
System.out.println(strc);

while (lena > 0) {
strc1 = strc1 + raf.readChar();


lena--;
}
System.out.println(strc1);

} catch (Exception e) {
e.printStackTrace();
}
}

public static void main(String args[]) {
RandomAccessFileTest1 raf = new RandomAccessFileTest1();
}
}

class Person1 {
String name;

int age;

String sex;

public static int lenn = 8;

public static int lena = 3;

public static String str = new String();

/** Creates a new instance of Person */
public Person1(String name, int age, String sex) {
str = str.valueOf(age);
/*while (name.length() < lenn)
this.name = name + "\u0000 ";*/
this.name = name;
while (this.name.length() < lenn)
this.name += "\u0020 ";
while (str.length() < lena)
str = "0 " + str;
this.age = Integer.parseInt(str);
this.sex = sex;
}

}

热点排行