使用Button将EditText保存到文件 - Android,Java

时间:2013-11-10 14:56:12

标签: java android file save android-edittext

我有一个EditText,其中用户输入他们的名字,然后我想按下一个按钮,EditText的内容被转移到一个文件中。

已编辑:到目前为止我有这段代码:

Button submitButton = (Button) findViewById(R.id.baddNametoFile);
        submitButton.setOnClickListener(new View.OnClickListener()

        {
            public void onClick(View v)
            {

                try{ 
                    ETName.getText().toString();

                    PrintWriter writer = new PrintWriter(new BufferedWriter(

                        new FileWriter("/sdcard/Accelerometer.html", true)));
                writer.println("<h3 style=padding-left:20px;>" + ETName
                        + "</h3><br>");
                // new arraylist
                writer.close();

                }catch (IOException e) {
                    // put notification here later!!!
                    e.printStackTrace(); }
            }

        });

我打印到文件中的实际android值是什么:

android.widget.Button{......./baddNametoFile}

但这只是一个了解印刷品的占位符。我希望看到用户在那里打印的内容。

任何帮助都会很棒。感谢

2 个答案:

答案 0 :(得分:2)

ETName可能是EditText。你没有发布到很多代码所以它应该像:  ETName.getText().toString();更改View ETName中的View v(点击不在EditText上的按钮)。让我们这样试试:

     @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
                        try{   
    String etName =  ETName.getText().toString();
if(!etName.trim().equals("")){
                            File file =new File("/sdcard/Accelerometer.html");

                            //if file doesnt exists, then create it
                            if(!file.exists()){
                                file.createNewFile();
                            }


                            FileWriter fileWritter = new FileWriter(file.getName(),true);
                                BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
                                bufferWritter.write(etName);
                                bufferWritter.close();
                } 
                        }catch (IOException e) {

                            e.printStackTrace(); }


                    }

答案 1 :(得分:1)

 try{

    File dir = new File("/mnt/sdcard/MyApp/");

    if (!dir.exists()) {
        dir.mkdir();
         System.out.println("Directory created");
      } 
    //ceate .rtf file with header
    myFile = new File("/mnt/sdcard/MyApp/Student.rtf");

    if (!myFile.exists()) {
        myFile.createNewFile();
        System.out.println("File created");
    }

    fOut = new FileOutputStream(myFile.getAbsoluteFile(),true);
    myOutWriter = new OutputStreamWriter(fOut);

    //Write the header : in your case it is : Student class Marsk (only one time)
    myOutWriter.write("Student,class,Marks"+"\n");
    myOutWriter.flush();

   }catch (Exception e) {
    // TODO: handle exception
    e.printStackTrace();
    }