import java.io.File;
import java.io.RandomAccessFile;public class Test8 {
public static void main(String[] args) throws Exception {
RandomAccessFile r = new RandomAccessFile(new File("c:\\Test.txt"),
"rw");
for (int i = 1;; i++) {
String temp = r.readLine();
if (temp == null)
break;
System.out.println(i + ":" + temp);
}
}
}
我的jdk是1.5输出结果是1:[B@6b97fd
在别人机子上,jdk1.6,输出就是文本内容,这是为什么呢?

解决方案 »

  1.   

    上面代码发错了。
    public static void main(String[] args) throws Exception {
    FileInputStream fis = new FileInputStream("c:\\Test.txt");
    InputStreamReader isr = new InputStreamReader(fis);
    BufferedReader br = new BufferedReader(isr);
    for (int i = 1;; i++) {
    String temp = br.readLine();
    if (temp == null)
    break;
    System.out.println(i + ":" + temp);
    }
    }
      

  2.   

    我用jdk1.4都没问题,难道偏偏1.5有问题。
      

  3.   

    我查了一下API,RandomAccessFile是字节读取的。你改变试试看。
      

  4.   

    输出是肯定有的,只是输出的是个对象地址让我郁闷。在别人那里输出就是文本内容。
    有1.6jdk的吗,帮忙测测。
      

  5.   

    看到你的这个错误输出,让我想到了这段代码:
      String[] str = {"123"};
            
            System.out.println(str);
    输出:
    [Ljava.lang.String;@de6ced
      

  6.   


     - -#String temp = r.readLine();我的是字符串,不是数组。
      

  7.   

    对啊  我说啊 代码没问题 也不可能是jdk版本的问题  楼上1.4的输出也没问题  你那个文本里什么东西啊?另外,你用的什么ide?
      

  8.   

    eclipse 3.4
    同时用cmd编译运行,也是这个结果。正考虑用myeclipse