import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
public class FileDemo02
{
public static void main(String args[]) throws Exception
{
File f=new File("D:"+File.separator+"test.text");
try
{
f.createNewFile();
}
catch(IOException e)
{
e.printStackTrace();
}
RandomAccessFile rdf=null;
rdf=new RandomAccessFile(f,"rw");
String name=null;
name="zhangsan";
int age=30;
rdf.writeBytes(name);
rdf.writeInt(age);
name="lisi";
age=31;
rdf.writeBytes(name);
rdf.writeInt(age);
age=32;
name="wangwu";
rdf.writeBytes(name);
rdf.writeInt(age);
rdf.close();
}
}
这个代码,但是我运行后出现乱码,请问是什么问题?
zhangsan   lisi   wangwu    

解决方案 »

  1.   

    如果只是想在SQL命令行中显示,ASE目前确实没怎么增强。反倒是ASA在语法上做得更好些。
    如果是在应用程序里头表示,那通用的处理方式就有很多。
    我在应用程序接口里头是绝不会使用上述转化方式的。直接使用原生类型最好。
      

  2.   

    把int型的转换成string不就可以了:
    int age=30;
    rdf.writeBytes(Integer.toString(age));
      

  3.   

    rdf.writeInt(age); 该方法写的是字节序列(编码)。如 65 是A 66 是B等。
    30,31,32 不知道代表的是什么,可能是不能打印的字符,所以会出现乱码。