2012-02-28 3 views
0

Я создаю класс для управления текстовыми файлами. У меня есть метод, чтобы написать и прочий читать мой файл:«Разрешено» Письменный файл с пробелами в конце

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.

EDIT:

Я использую облицовку(), предложенный AppServ и АХЖ, но в функции чтения вместо функции записи. Он отлично работает, если вы!

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

Попробуйте osw.write (content.trim()); –

+0

Thx вы, это работает! – korax

ответ

0

Если вы используете текстовый редактор для создания файла, редактор может добавлять несколько пустых строк для заполнения размера файла. Вы можете вызвать openFileOutput без флага MODE_APPEND, чтобы создать новый (пустой) файл программно, тем самым избегая текстового редактора.

В противном случае, предложение appserv использовать trim() должно хорошо работать, чтобы очистить строку.

+0

Thx you, я использовал trim(), и он работает! – korax

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