2010-11-05 35 views
0

嘿傢伙,我有一個Android應用程序的代碼,有趣的是,數據永遠不會等於數據,你們可以解釋我爲什麼,如果萬一給我新的讀/寫文件功能:/,感謝Android寫/讀文本

String datas = "volume of"; 
    writesettings(datas); 
    String data = readsettings(); 
    String data2 = "volume of"; 
    if (data == datas) { 
    System.out.println("success"); 
    } 
    System.out.println(data); 
    System.out.println(data.length()); 
    System.out.println(datas.length()); 
} 
// Write Settings 
public void writesettings(String data){ 
    try {  
    FileOutputStream fOut = openFileOutput("settings.dat", MODE_WORLD_READABLE); 
    OutputStreamWriter osw = new OutputStreamWriter(fOut); 
    osw.write(data); 
    osw.flush(); 
    osw.close(); 
}catch(Exception e){ 
    e.printStackTrace(System.err); 
} 
} 
public String readsettings(){ 
try { 
    FileInputStream fIn = openFileInput("settings.dat"); 
    InputStreamReader isr = new InputStreamReader(fIn); 
    char[] inputBuffer = new char[9]; 
    isr.read(inputBuffer); 
    String readString = new String(inputBuffer); 
    datax = readString; 
    isr.close(); 
} catch (IOException ioe) { 
    ioe.printStackTrace(); 
} 
return datax; 
} 
+0

'settings.dat'文件中有什麼,你能顯示它的文本嗎? – 2010-11-05 02:13:04

+1

我的第一步是使用.equals()來比較Java中的字符串而不是==運算符。 – 2010-11-05 02:15:26

回答

2
  1. 你不使用equals(==)運算符在Java中比較字符串。他們是對象。您需要使用equals()
  2. System.out.println在Android上不起作用。使用Log
+0

感謝您的鏈接,阿蘭:)只是'日誌'有點含糊。 – EboMike 2010-11-05 02:18:44

+0

與System.out.println我可以在logcat上看到結果;)感謝您的幫助:D – Hiper 2010-11-07 05:19:21