【问题标题】:create temp file in android在android中创建临时文件
【发布时间】:2010-10-01 05:30:48
【问题描述】:

在我的 android 应用程序中,我尝试使用 create temp 创建一个音乐文件并尝试读取它。现在我可以创建,但它给出了一个错误,提示无法播放视频。

    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);  
   //File newfile=new File("/data/data/com.ayansys.samplevideo/Music.3gp");

    //String xyz=newfile.getAbsolutePath();
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); // Sets the window in full screen
    setContentView(R.layout.main);
   // path.g
   // Log.i("Raw folder path:", R.raw.music);
   String path= musicFile();
    try{
    Thread.sleep(5000);
    }
    catch(InterruptedException e)
    {
        e.printStackTrace();
        Log.i("exception raised",e.toString());
    }
    mVideoView = (VideoView) findViewById(R.id.surface_view);
    // mVideoView.setVideoURI(Uri.parse("android.resource://com.ayansys.samplevideo/"+R.raw.music));

   // File infile=new File("/data/data/com.ayansys.samplevideo/Video.3gp");
    mVideoView.setVideoPath(path);

    mVideoView.requestFocus();
    mVideoView.start();

}

public   String  musicFile()
{
    String temPath = null;
    try{
        File outFile=File.createTempFile("music", ".3gp", getDir(temPath, MODE_PRIVATE));
        temPath=outFile.getAbsolutePath();
        FileOutputStream f=new FileOutputStream(outFile);
        //FileOutputStream fos = openFileOutput("music.3gp", Context.MODE_PRIVATE);
        URL u = new URL("http://59.162.166.211/aptv-web/VODAFONE/STARONE/SarabhaivsSarabhai/J2ME/SarabhaivsSarabhai_05.3gp");
    HttpURLConnection c = (HttpURLConnection) u.openConnection();
    c.setRequestMethod("GET");
    c.setDoOutput(true);
    c.connect();
    //FileOutputStream f = new FileOutputStream(new File("/sdcard/videooutput.mp4"));


    InputStream in = c.getInputStream();

    byte[] buffer = new byte[1024];
    int len1 = 0;
    while ( (len1 = in.read(buffer))!= -1 ) {
         f.write(buffer,0,len1);
    }

    f.close();
    String str=outFile.getAbsolutePath();
    //outFile..close();
    in.close();

}
    catch(Exception e)
    {
        e.printStackTrace();
        System.out.println("Exception raised in creating a file: "+e.toString());
    }
    return temPath;
}

}

我想玩这个。 请分享您的宝贵建议。

提前致谢

【问题讨论】:

标签: android


【解决方案1】:

Context.openFileOutput(String name, int mode) 在内部存储中打开一个文件。

我建议您阅读Android Data Storage Guide,因为它涵盖了内部和外部存储问题。

【讨论】:

    猜你喜欢
    • 2011-03-26
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    • 2012-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多