2013-12-04 2 views
0

Что я в основном хочу сделать, так это то, что я сначала написал символ «123» в файл test2.txt. Затем я прочитал его, сохранил значение чтения в переменной z (char datatype) и сравнил его с «123» в части (if). Но он возвращает NO MATCH ... Хотя значение переменной z равно «123» (System.out.println (z) печатает 123 на экране). Почему так происходит? Также я проверил файл test2.txt. Он содержит 123 с небольшим L за 123 (вызванный тем, что? 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);} 
    } 
} 
+1

Посмотрите этот http://stackoverflow.com/questions/513832/how-do-compare-strings-in-java – lummycoder

ответ

4

г является строкой, и она должна быть сравнить с использованием методы равной()

Попробуйте сделать это вместо:

if ("123".equals(z)) 
    { 
     System.out.println("MATCH"); 
    } 
    else 
    { 
     System.out.println("NO MATCH"); 
    } 

Больше информации здесь, чтобы сравнить строка:

How do I compare strings in Java?

+1

Да. Программа работает сейчас. Спасибо. Кстати, его if («123» .equals (z)) [без обид .. упоминание на всякий случай, если какой-то другой человек ищет ссылку] Не могли бы вы помочь мне с «маленькой L-частью», которая находится за строкой 123 в файл test2.txt? Был бы счастлив, если сможешь. Еще раз спасибо! – user3050178

+0

@ user3050178 Ой! Спасибо, заметив это;) – TheEwook

Смежные вопросы