Android使用File创建临时文件,File.createTempFile

废话不多说,直接上代码

 

File files = new File("/mnt/sdcard/log.txt");
//如果这个文件不存在的话就开始创建临时文件
if (files.exists()==false) {
	try {
			   File tempFile=null;
			   tempFile = tempFile.createTempFile("users", "properties");
			   byte[] buffer = new byte[1024];
			   FileOutputStream writeFile = new FileOutputStream(tempFile);
			   InputStream inStream = getResources().getAssets().open("log.txt");
			   int length = inStream.read(buffer);
			   writeFile.write(buffer, 0, length);
			   writeFile.flush();
			   inStream.close();
			   writeFile.close();
			   files = tempFile;
			} catch (IOException e) {
				e.printStackTrace();
			}
		}

 

好了,现在files就是一个临时的File文件了,这个File文件和普通的没有区别。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
将 assets 目录下的 zip 文件读取为 File 对象,不使用临时文件,可以使用 ZipInputStream 类,这可以分为以下几个步骤: 1. 获取 AssetManager 对象,这可以通过 `getAssets()` 方法来实现。 ```java AssetManager assetManager = getAssets(); ``` 2. 打开 zip 文件的输入流,这可以通过 AssetManager 的 `open()` 方法来实现。在这里,你需要传递 zip 文件的相对路径,例如:`"zip/test.zip"`。 ```java InputStream inputStream = assetManager.open("zip/test.zip"); ``` 3. 创建 ZipInputStream 对象,并将 zip 文件的输入流传递给它。 ```java ZipInputStream zipInputStream = new ZipInputStream(inputStream); ``` 4. 使用 ZipInputStream 对象读取 zip 文件中的内容,并将其保存为 File 对象。在这里,你可以使用 `File.createTempFile()` 方法创建一个新的临时文件,并将其保存在应用程序的缓存目录中。 ```java ZipEntry zipEntry; File file = null; while ((zipEntry = zipInputStream.getNextEntry()) != null) { if (!zipEntry.isDirectory()) { file = File.createTempFile("temp", null, getCacheDir()); FileOutputStream fileOutputStream = new FileOutputStream(file); byte[] buffer = new byte[1024]; int length; while ((length = zipInputStream.read(buffer)) > 0) { fileOutputStream.write(buffer, 0, length); } fileOutputStream.close(); break; } } zipInputStream.close(); inputStream.close(); ``` 在上述代码中,我们使用 `ZipInputStream.getNextEntry()` 方法获取 zip 文件中的每个条目,例如文件或文件夹。如果是文件,则创建一个新的临时文件,并使用 `FileOutputStream` 将其写入文件中。在这里,我们仅处理了 zip 文件中的第一个文件,如果需要处理其他文件,可以在循环中继续处理。 需要注意的是,在使用完输入流和输出流之后,应该关闭它们,以释放资源。 5. 现在,我们已经将 zip 文件的内容保存为 File 对象,可以进行进一步处理。 ```java if (file != null) { // 处理文件 } ``` 在上述代码中,我们检查是否已经成功创建了一个临时文件,如果是,则可以使用这个文件对象来操作 zip 文件中的内容,例如解压缩文件。需要注意的是,在使用临时文件之后,应该删除它,以释放存储空间。 ```java file.delete(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值