使用FileOutputStream序列化可以直接向文件寫入文本內容,代碼如下:
FileOutputStream outStream = new FileOutputStream(file);
outStream.write(str.getBytes());
outStream.close();
但這裏的字符串如果包含中文,就會出現亂碼,這是因爲FileOutputStream是字節流,將文本按字節寫入文件,而一個漢字是兩個字節,無法一次寫入,就會出現亂碼,解決方法是使用OutputStreamWriter將字節流轉換爲字符流寫入,同時指定utf-8編碼。代碼如下:
OutputStreamWriter oStreamWriter = new OutputStreamWriter(new FileOutputStream(file), "utf-8");
oStreamWriter.append(str);
oStreamWriter.close();