我正在创建一个管理文本文件的类。我有一个写入的方法和另一个读取我的文件的方法:
public static void writeFiles(Context context, String nomFichier, String content, char mode) {
FileOutputStream fOut = null;
OutputStreamWriter osw = null;
try {
if (mode == 'd') {
context.deleteFile(nomFichier);
} else {
fOut = context.openFileOutput(nomFichier, Context.MODE_APPEND);
osw = new OutputStreamWriter(fOut);
osw.write(content);
osw.flush();
}
} catch (Exception e) {
Toast.makeText(context, "Message not saved",Toast.LENGTH_SHORT).show();
} finally {
try {
osw.close();
fOut.close();
} catch (IOException e) {
Toast.makeText(context, "Message not saved",Toast.LENGTH_SHORT).show();
}
}
}
当我创建一个文件时,它会填充几个空行。我想将我的文件内容设置为EditText,所以我不想要空白。 如何创建没有空格的文件?
Thx,korax。
编辑:
我使用了由appserv和acj建议的trim(),但是在read函数而不是write函数中。它很好,对你来说!
public static String readFile(Context context, String fileName) {
FileInputStream fIn = null;
InputStreamReader isr = null;
char[] inputBuffer = new char[255];
String content = null;
try {
fIn = context.openFileInput(fileName);
isr = new InputStreamReader(fIn);
isr.read(inputBuffer);
content = new String(inputBuffer);
} catch (Exception e) {
//Toast.makeText(context, "Message not read",Toast.LENGTH_SHORT).show();
}
finally {
try {
isr.close();
fIn.close();
} catch (IOException e) {
//Toast.makeText(context, "Message not read",Toast.LENGTH_SHORT).show();
}
}
return content.trim();
}
答案 0 :(得分:0)
如果您使用文本编辑器创建文件,编辑器可能会添加一些空行来填充文件大小。您可以在没有MODE_APPEND标志的情况下调用openFileOutput来以编程方式创建新(空)文件,从而避免使用文本编辑器。
否则,appserv建议使用trim()应该可以很好地清理字符串。