Android Java读取和保存数据不起作用

时间:2014-06-09 13:01:54

标签: java android eclipse load save

嘿我想保存数据,然后我想阅读它们并将它们放在EditText中

    speichern.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v) {
        save();
        tv.setText("gespeichert");

        }

    });

private  void save() {
    try {
        File myFile = new File("bla.txt");
        myFile.createNewFile();
        FileOutputStream fOut = new FileOutputStream(myFile);
        OutputStreamWriter myOutWriter = 
                                new    OutputStreamWriter(fOut);
        myOutWriter.append(string.toString() + "\n");
        myOutWriter.append(string2.toString());

        myOutWriter.close();
        fOut.close();
        Toast.makeText(getBaseContext(),
                "Gespeichert",
                Toast.LENGTH_SHORT).show();
    } catch (Exception e) {
        Toast.makeText(getBaseContext(), e.getMessage(),
                Toast.LENGTH_SHORT).show();
    }
}
            private void read() {
                  int bla;
                  StringBuffer strInhalt = new StringBuffer("");
                  try {
                   FileInputStream in = openFileInput("bla.txt");
                   while( (bla = in.read()) != -1)
                    strInhalt.append((char)bla);

                  } catch (FileNotFoundException e) {
                   e.printStackTrace();
                  } catch (IOException e) {
                   e.printStackTrace();
                  }

我能改变什么?` pelase帮助我 我是日食 我想保护.txt不是外部的。

1 个答案:

答案 0 :(得分:0)

我不相信您正在正确创建文件:

File file = new File("test.txt");
file.createNewFile();

if(file.exists())
{
     OutputStream fo = new FileOutputStream(file);              
     fo.write("Hello World");
     fo.close();
     System.out.println("file created: "+file);
     url = upload.upload(file);
}

要阅读此文件:

 try {
    // open the file for reading
    InputStream instream = openFileInput("test.txt");


// if file the available for reading
if (instream) {
  // prepare the file for reading
  InputStreamReader inputreader = new InputStreamReader(instream);
  BufferedReader buffreader = new BufferedReader(inputreader);

  String line;

  // read every line of the file into the line-variable, on line at the time
  while (( line = buffreader.readLine())) {
    // do something with the settings from the file
  }

}

// close the file again      
instream.close();
  } catch (java.io.FileNotFoundException e) {
    // do something if the myfilename.txt does not exits
  }

并且不要忘记用try-catch块封装代码来捕获从这些对象抛出的IOException

修改

将此添加到您的清单文件中:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

...或

File filesDir = getFilesDir();
Scanner input = new Scanner(new File(filesDir, filename));

希望有所帮助! :)