2 myq 26 myq_26 于 2013.06.18 13:11 提问

在一个原始文件夹中如何引用一个文件?

我想创建一个File object如下:

File myImageFile = new File ("image1") ;

但是在 FileNotFoundException 有异常。
如何在一个原始文件夹中引用一个文件?
实际上我想实现:

MultipartEntity multipartEntity= new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); multipartEntity.addPart("uploaded", new FileBody(new File("myimage")));

2个回答

ssummeraw
ssummeraw   2013.06.18 15:09
已采纳

这里有两个函数,一个是从 RAW 中读取,另一个是从 Assets 中

public static void readRaw(Context ctx,int res_id) {
    InputStream is = ctx.getResources().openRawResource(res_id);
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader br = new BufferedReader(isr, 8192); // 2nd arg is buffer
                                                      // size
    // More efficient (less readable) implementation of above is the
    // composite expression
    /*
     * BufferedReader br = new BufferedReader(new InputStreamReader(
     * this.getResources().openRawResource(R.raw.textfile)), 8192);
     */
    try {
        String test;
        while (true) {
            test = br.readLine();
            // readLine() returns null if no more lines in the file
            if (test == null)
                break;
        }
        isr.close();
        is.close();
        br.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

从 Assets folder 获得:

public static String getQuestions(Context ctx,String file_name) {
    AssetManager assetManager = ctx.getAssets();
    ByteArrayOutputStream outputStream = null;
    InputStream inputStream = null;
    try {
        inputStream = assetManager.open(file_name);
        outputStream = new ByteArrayOutputStream();
        byte buf[] = new byte[1024];
        int len;
        try {
            while ((len = inputStream.read(buf)) != -1) {
                outputStream.write(buf, 0, len);
            }
            outputStream.close();
            inputStream.close();
        } catch (IOException e) {
        }
    } catch (IOException e) {
    }
    return outputStream.toString();
}
Jave_
Jave_   2013.06.18 14:37

图片的全路径:

new File("/mnt/sdcard/xx.png");
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!