0

我正在使用我自己的扩展名“.swp”将文件与我的应用程序相关联。当用户尝试使用该扩展名打开文件时,我可以选择我的应用程序。例如,如果在 sd 卡的任何地方都有文件“file1.swp”,并且如果用户单击该文件,我的应用程序也将在打开该应用程序的选项列表中可用。但是我想在它选择我的应用程序打开时将“file1.swp”保存在某个临时文件夹中。

有什么建议请......

4

1 回答 1

2

我在下面发布我的整个代码,以便其他有相同问题的人可以参考:

String strFilename = "Not set";
        Intent intent = getIntent();
        if(intent != null)
        {
            Uri uri = intent.getData();
            if(uri != null)
            {
                strFilename = intent.getData().getPath();
                String NameOfFile = intent.getDataString();


                Toast.makeText(SplashActivity.this, "strFilename" + strFilename + "" + "Name of file is::" + NameOfFile, Toast.LENGTH_LONG).show();
                System.out.println("strFileName::"+ strFilename );

                System.out.println("NameOfFile::"+ NameOfFile );
                try {
                    copyFile(strFilename,"/mnt/sdcard/Profile.swp");
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
        }else{

        }

        }





//copy file into other location
    private void copyFile(String assetFilename, String outFileName ) throws IOException{

        System.out.println("outFileName ::" + outFileName);
        //Open your local db as the input stream
        InputStream myInput = new FileInputStream(assetFilename);

        //Open the empty db as the output stream
        OutputStream myOutput = new FileOutputStream(outFileName);

        //transfer bytes from the inputfile to the outputfile
        byte[] buffer = new byte[2048];
        int length;
        while ((length = myInput.read(buffer))>0){
            myOutput.write(buffer, 0, length);
        }

        //Close the streams
        myOutput.flush();
        myOutput.close();
        myInput.close();

    }
于 2013-01-04T04:11:38.130 回答