【问题标题】:Write and Read a specific line from a text file on android从android上的文本文件中写入和读取特定行
【发布时间】:2014-07-20 15:26:39
【问题描述】:

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

谢谢。

【问题讨论】:

    标签: android java-io


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回答@wyoskibum。是的,我尝试使用 FileWriter、BufferedReader、LineNumberReader,它现在可以工作了。我真正的问题是我被困在我的 file.txt 的 SDCard 路径位置
    • 除非你root你的设备,否则真的没有。
    【解决方案2】:

    也许有人会遇到同样的情况..

    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();
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-29
      • 2015-04-10
      • 1970-01-01
      • 2020-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多