问题描述
- 在一个原始文件夹中如何引用一个文件?
- 我想创建一个File object如下:
File myImageFile = new File (""image1"") ;
但是在 FileNotFoundException 有异常。
如何在一个原始文件夹中引用一个文件?
实际上我想实现:MultipartEntity multipartEntity= new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); multipartEntity.addPart(""uploaded"" new FileBody(new File(""myimage"")));
解决方案
这里有两个函数,一个是从 RAW 中读取,另一个是从 Assets 中
public static void readRaw(Context ctxint 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 ctxString 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();}
解决方案二:
图片的全路径:
new File(""/mnt/sdcard/xx.png"");
时间: 2024-11-08 17:29:08