Member 13307200 Ответов: 1

Сохранение данных из textview в файл в android


Привет,

Я хочу сохранить данные в текстовый файл из TextView.
но перед сохранением я хочу манипулировать данными.

данные, которые я получаю, поступают из последовательного порта.
в textview.
Я могу сохранить в файл непосредственно из textview.
но я хочу манипулировать данными.
как сплит,подстроки и добавляя некоторые строки данных, текстового представления.

Что я уже пробовал:

btnSave5.setOnClickListener(new View.OnClickListener() {
	String fileName1 = "n1.txt";
	String fileName = "IT_"+formatter.format(now) + ".txt";

	@Override
	public void onClick(View v)
	{
		try
		{
			File root = new File(Environment.getExternalStorageDirectory(), "IT1");

			if (!root.exists()) {
				root.mkdirs();
				root.createNewFile();
			}
			File gpxfile = new File(root, fileName);
			FileWriter writer = new FileWriter(gpxfile,true);
			writer.write(tvTerminal.getText()+"\n\n");
			writer.flush();
			writer.close();

			//till this the code works good and file will be saved
			File gpxfile1 = new File(root, fileName1);
			FileWriter writer1 = new FileWriter(gpxfile1,true);
			String  r = "TIME         VOLTAGE        CURRENT           IR-VALUE";

			// The below code is not working 
			//when i try to save it is exiting
			String spdata = tvTerminal.getText().toString();
			String pdata = spdata.substring(78);

			String abc = heading + r;
			writer1.write(abc);
			writer1.flush();
			writer1.close();
			// clear.setVisibility(View.VISIBLE);
		}
		catch(IOException e)
		{
			e.printStackTrace();
		}
	}
});

David Crow

Итак, вы использовали отладчик для пошагового просмотра кода, чтобы найти, какой из этих шести операторов является ошибочным? Создается ли исключение?

1 Ответов

Рейтинг:
1

User 7429338

Вы должны проверить длину spdata прежде чем взять подстроку. Если он короче 78 символов, он выдаст исключение и не закончит писать.

if(spdata.length() < 78)
{
    // Maybe show an error to the user.
    return;
}
String pdata = spdata.substring(78);