在Android中编写多行.text文件

时间:2013-08-11 11:49:09

标签: android file text gps multiline

我正在学习如何在Android中开发,我有一个问题, 我有一个定位你的GPS,然后它将经度和纬度写在.txt文件中,当位置改变时,它再次写入新位置但是它取代了文件,我想知道如何写新位置在另一个背后。

例如:

纬度:42.56164
纬度:42.52542
纬度:42.58864
纬度:42.54422

   try
        {
            OutputStreamWriter fout= new OutputStreamWriter(openFileOutput("datosgpslongitud.txt", Context.MODE_PRIVATE));

            //String gps = ((EditText)findViewById(R.id.aa)).getText().toString();

            String linea = System.getProperty("line.separator");

            fout.write(linea+longitude);
            fout.close();
        }
        catch (Exception ex)
        {
            Log.e("Ficheros", "Error al escribir fichero a memoria interna");
        }

3 个答案:

答案 0 :(得分:1)

这称为追加;你需要以追加模式打开输出文件。

请参阅How to add a new line of text to an existing file in Java?

答案 1 :(得分:0)

尝试此操作以在数据后添加新行:

[A-Za-z\/\*]

如果您想在数据前添加新行,请尝试此操作:

String data=yourEditText.getText.tostring();
data+="\n";
fout.write(data);

如果要添加多行,
对于2行,替换" \ n"与" \ n \ n"
对于3行,替换" \ n"用" \ n \ n \ n"
等等。

答案 2 :(得分:0)

您必须更改以追加和添加新行,如下所示:

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;

public class ProcesoPrincipal implements CommandLineRunner {
    
    @Autowired
    private JdbcTemplate jdbcTemplate;
    
    public void consulta(){
        String sql = "SELECT * FROM USUARIO_WEBSERVICES";
        List<UsuarioWebService> students = jdbcTemplate.query(sql,BeanPropertyRowMapper.newInstance(UsuarioWebService.class));            
        students.forEach(System.out :: println);
    }

    @Override
    public void run(String... args) throws Exception {
        String sql = "SELECT * FROM USUARIO_WEBSERVICES";
        List<UsuarioWebService> students = jdbcTemplate.query(sql,BeanPropertyRowMapper.newInstance(UsuarioWebService.class));            
        students.forEach(System.out :: println);
    }