在android上从文本文件中写入和读取特定行

在android上从文本文件中写入和读取特定行,android,java-io,Android,Java Io,我想从text.txt这样的文件中读取特定的行,然后向其中写入一些字符串。在android上有什么方法可以做到这一点?我仍然在玩LineNumberReader,但仍然找不到这样做的方法 谢谢。为什么不使用inputstream、bufferedreader、stringbuilder和outputstream的组合呢?也许任何人都会遇到这样的情况 private void Writing() { // TODO Auto-generated method stub try {

我想从text.txt这样的文件中读取特定的行,然后向其中写入一些字符串。在android上有什么方法可以做到这一点?我仍然在玩LineNumberReader,但仍然找不到这样做的方法


谢谢。

为什么不使用inputstream、bufferedreader、stringbuilder和outputstream的组合呢?

也许任何人都会遇到这样的情况

private void Writing() {
    // TODO Auto-generated method stub
    try {
        String[] lines = new String[888];
        File internalStorage = Environment.getDataDirectory();
        File dir = new File (internalStorage + "/myPde");                   
        File file = new File(dir, "ekfslam.pde");
        File file_temp = new File(dir, "ekfslam_temp.txt");

        FileWriter fw = new FileWriter(file_temp,true);
        BufferedWriter bw = new BufferedWriter(fw);
        LineNumberReader lnr = new LineNumberReader(new FileReader(file));

        file_temp.createNewFile();

        int i = 0;
        String Line = "";
        while (true) {
            Line = lnr.readLine();
            if (Line != null) {
                lines[i]=Line;
                i++;
            } else {
                break;
            }
        }

        for (int j = 0; j < 50; j+=5) {
            lines[95] = lines[95]+"\n\t\t Data "+j;
        }           

        if (file_temp.exists()) {               
        } else {
            file_temp.createNewFile();
        }

        for (i = 0; i < lines.length; i++){
            bw.write(lines[i]);
            bw.newLine();
            System.out.println(lines[i]);
        }
        file.delete();
        file_temp.renameTo(file);
        bw.close();
        lnr.close();            
    } catch (Exception e) {
        e.printStackTrace();
    }

}
private void Writing(){
//TODO自动生成的方法存根
试一试{
字符串[]行=新字符串[888];
文件internalStorage=Environment.getDataDirectory();
File dir=新文件(internalStorage+“/myPde”);
File File=新文件(dir,“ekfslam.pde”);
File File_temp=新文件(dir,“ekfslam_temp.txt”);
FileWriter fw=新的FileWriter(file_temp,true);
BufferedWriter bw=新的BufferedWriter(fw);
LineNumberReader lnr=新的LineNumberReader(新文件读取器(文件));
文件_temp.createNewFile();
int i=0;
字符串行=”;
while(true){
Line=lnr.readLine();
如果(行!=null){
行[i]=行;
i++;
}否则{
打破
}
}
对于(int j=0;j<50;j+=5){
行[95]=行[95]+“\n\t\t数据”+j;
}           
如果(文件临时存在()){
}否则{
文件_temp.createNewFile();
}
对于(i=0;i
谢谢您的回答@wyoskibum。是的,我尝试使用FileWriter、BufferedReader、LineNumberReader,现在可以使用了。我真正的问题是,我被卡在了文件的SD卡路径位置。TXT除非你在你的设备上设置根目录,否则根本就没有这个问题。