我基本上想要做的是我首先将一个字符“123”写入文件test2.txt。然后我读取它,将读取的值存储在变量 z(char datatype) 中,并将其与 (if) 部分中的“123”进行比较。但它返回 NO MATCH... 即使变量 z 的值为“123”(System.out.println(z) 在屏幕上打印 123)。为什么会这样?我还检查了 test2.txt 文件。它包含 123,在 123 后面有一个小 L(由于什么原因?unicode 转换或其他原因??),我认为这是问题的根源。请帮忙。提前致谢。
源代码:
import java.io.*;
public class readWrite
{
public static void main(String[]args)
{
RandomAccessFile file=null;
try{
file=new RandomAccessFile("test2.txt","rw");
file.writeUTF("123");
file.seek(0);
String z=file.readUTF();
if (z=="123")
{
System.out.println("MATCH");
}
else
{
System.out.println("NO MATCH");
}
}
catch(IOException e){System.out.println(e);}
}
}