Articles of fileoutputstream

Android:打开失败:ENOENT(没有这样的文件或目录)

嗨,我想从资产读取excel,并希望将其转换成JSON,但我得到的错误:打开失败:ENOENT(没有这样的文件或目录) ,search了许多SO问题,但找不到解决scheme以下是我的代码 public void readXlsFileAndConvertToJsonObject() { JSONArray jsonArray = new JSONArray(); JSONArray mainJsonArray = new JSONArray(); try { File file = new File("file:///android_asset/filters.xls"); FileInputStream fis = new FileInputStream(file); //final FileInputStream file = new FileInputStream(new File("filters.xls")); int count = 0; // Get the workbook instance for XLS file HSSFWorkbook workbook = new HSSFWorkbook(fis); // Get first […]

Android – 从网站下载图片,保存到内部私人应用程序的内存,显示列表项

我想要做的是这样的:我想我的应用程序从互联网上下载一个图像,并将其保存到手机的内部存储器的应用程序私有位置。 如果没有图像可用于列表项目(即它不能在互联网上find),我想要一个默认的占位符图像显示。 这是我在list_item_row.xml文件中定义的默认图像。 在我的ListActivity文件中,我调用了一个我写的CustomCursorAdapter类的实例。 它在CustomCursorAdapter中遍历所有列表项,并定义需要将哪些内容映射到视图,包括通过尝试从内部内存读取图像文件。 我已经看到了这个问题上的几个问题,但这些例子要么是特定于外部手机内存(如SDCard),涉及保存string而不是图像,或涉及使用Bitmap.CompressFormat减less文件的分辨率(这是不必要的我的情况,因为这些图像将是小分辨率的小缩略图)。 试图拼凑每个例子中的代码一直是困难的,因此我问我的具体例子。 目前,我相信我已经写了有效的代码,但没有图像显示我的列表项目,包括默认的占位符图像。 我不知道这个问题是由无效的下载/保存代码,还是无效的读取代码造成的 – 这不利于我不知道如何检查内部存储器来查看图像是否存在。 无论如何,这是我的代码。 任何帮助将不胜感激。 ProductUtils.java public static String productLookup(String productID, Context c) throws IOException { URL url = new URL("http://www.samplewebsite.com/" + productID + ".jpg"); URLConnection connection = url.openConnection(); InputStream input = connection.getInputStream(); FileOutputStream output = c.openFileOutput(productID + "-thumbnail.jpg", Context.MODE_PRIVATE); byte[] data = new byte[1024]; output.write(data); output.flush(); […]

排球 – 直接下载到文件(内存字节数组中没有)

我在我正在使用Android的项目中使用Volley作为我的networking堆栈。 我的部分要求是下载可能非常大的文件并将其保存在文件系统中。 我一直在看volley的实现,似乎唯一的方法是将整个文件下载到一个潜在的庞大的字节数组中,然后把这个字节数组的处理延迟到一些callback处理程序。 由于这些文件可能非常大,我担心在下载过程中出现内存不足错误。 有没有办法让volley将来自httpinputstream的所有字节直接处理成文件输出stream? 或者这将需要我实现我自己的networking对象? 我找不到任何关于这个在线的材料,所以任何build议,将不胜感激。

Android FileOutputStream位置保存文件

我有一个应用程序保存到用户input的文件(内部存储)数据,并在启动时加载此文件并显示内容。 我会知道:我在哪里可以find我的文件(data.txt)? 除了,如果我input“你好”,然后“世界”当我加载文件我看到“HelloWorld”在同一行,但我想“你好”和“世界”打印在2不同的行。 为了保存文件: public void writeToFile(String data) { try { FileOutputStream fou = openFileOutput("data.txt", MODE_APPEND); OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fou); outputStreamWriter.write(data); outputStreamWriter.close(); } catch (IOException e) { Log.e("Exception", "File write failed: " + e.toString()); } } 加载文件: public String readFromFile() { String ret = ""; try { InputStream inputStream = openFileInput("data.txt"); if ( inputStream […]

BitmapFactory.decodeFile返回空图像存在

保存文件: FileOutputStream fo = null; try { fo = this.openFileOutput("test.png", Context.MODE_WORLD_READABLE); } catch (FileNotFoundException e) { e.printStackTrace(); } bitmap.compress(CompressFormat.PNG, 100, fo) 加载文件: String fname = this.getFilesDir().getAbsolutePath()+"/test.png"; Bitmap bMap = BitmapFactory.decodeFile(fname); i.setImageBitmap(bMap); 最后一行给出一个空指针exception,为什么BitmapFactory.decodeFile返回null? 我可以validation文件得到正确保存,因为我可以使用adb拉它,看到正确显示png。

我如何让用户访问我的应用程序的内部存储目录?

我的应用程序将文件存储在内部存储目录(/Android/data/com.mycompany.myapp/files,由getFilesDir()返回),我想让用户直接从他们的文件pipe理应用程序访问这些文件移动设备或Android文件传输桌面应用程序。 存储选项开发指南说: 默认情况下,保存到内部存储的文件对您的应用程序是私有的,其他应用程序不能访问它们(用户也不能访问)。 “默认情况下”意味着我可以更改默认权限以允许用户访问这些文件,但我找不到任何有关如何执行此操作的文档。 目前,当我使用文件pipe理应用程序浏览/ Android /数据目录时,com.mycompany.myapp目录是隐藏的。 我目前正在保存这样的文件数据: String fileName = "myfile.jpg"; String filePath = getFilesDir() + File.separator + fileName; FileOutputStream fileStream = new FileOutputStream(filePath); fileData.writeTo(fileStream); // fileData is a ByteArrayOutputStream fileStream.close(); 我尝试设置单个文件的权限为世界可读,但是这并没有使目录可见: FileOutputStream fileStream = this.app.openFileOutput(fileName, Context.MODE_WORLD_READABLE); 我也检查了AndroidManifest文件的文档,没有看到任何东西。 有谁知道我怎么能做到这一点?

删除使用FileOutputStream创build的文件

我正在开发Android平台。 我的应用程序通过简单的调用来创build一个临时文件: FileOutputStream fos = openFileOutput("MY_TEMP.TXT", Mode); 它工作正常,因为我可以写信给它,并正常阅读。 问题是,当我退出应用程序,我想删除这个文件。 我用了: File f = new File(System.getProperty("user.dir"), "MY_TEMP.TXT"); f.delete() 但是它总是返回false,文件不会被删除。 我努力了: File f = new File("MY_TEMP.TXT"); f.delete(); 而且它也不起作用。

读/写文件到内部专用存储

我将应用程序从Symbian / iPhone移植到Android,其中一部分是将一些数据保存到文件中。 我使用FileOutputStream将文件保存到私有文件夹/ data / data / package_name / files中 : FileOutputStream fos = iContext.openFileOutput( IDS_LIST_FILE_NAME, Context.MODE_PRIVATE ); fos.write( data.getBytes() ); fos.close(); 现在我正在寻找一种方法来加载它们。 我正在使用FileInputStream ,但它允许我逐字节地读取文件,这是非常低效的: int ch; StringBuffer fileContent = new StringBuffer(""); FileInputStream fis = iContext.openFileInput( IDS_LIST_FILE_NAME ); while( (ch = fis.read()) != -1) fileContent.append((char)ch); String data = new String(fileContent); 所以我的问题是如何更好地阅读文件的方式?

如何在MediaPlayer上播放Android InputStream?

所以我在我的资产文件夹中有一个小的audio文件,我想打开一个InputStream写入一个缓冲区,然后写入一个临时文件,然后打开MediaPlayer播放该临时文件。 问题是,当媒体播放器命中mp.Prepare(),它不会播放,永远不会到达吐司。 有没有人曾经这样做过? public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); InputStream str; try { str = this.getAssets().open("onestop.mid"); Toast.makeText(this, "Successful Input Stream Opened.", Toast.LENGTH_SHORT).show(); takeInputStream(str); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }//end on create public void takeInputStream(InputStream stream) throws IOException { //fileBeingBuffered = (FileInputStream) stream; //Toast.makeText(this, "sucessful stream conversion.", Toast.LENGTH_SHORT).show(); […]

为什么有时抛出FileNotFoundException

该代码大部分时间工作,但有一段时间抛出exception。 无法弄清楚是什么原因造成的。 什么是在创build一个文件 /storage/emulated/0/Download/theFileName.jpg 并写入数据(从源文件存在),但得到“文件不存在”例外新创build的文件。 (它具有uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE", and uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE在清单中uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE", and uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE ”)。 File sourceFile = new File(theSourceFileFullPath); if (sourceFile.exists()) { File downloadDirectory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); String downloadPath = downloadDirectory.getPath(); String newFilePath = (downloadPath + "/" + fileName); File newFile = new File(newFilePath); try { FileInputStream in = new FileInputStream(sourceFile); // ava.io.FileNotFoundException: // /storage/emulated/0/Download/theFileName.jpg: […]