Android中如何获取asset目录下的ini文件

1、获取资源的输入流

假设资源位于assets目录下:

Context.getAssets().open(“sample.txt”)

public void deepFile(Context ctxDealFile, String path) {

try {

String str[] = ctxDealFile.getAssets().list(path);

if (str.length > 0) {// 如果是目录

File file = new File("/data/" + path);

file.mkdirs();

for (String string : str) {

path = path + "/" + string;

System.out.println("zhoulc:\t" + path);

// textView.setText(textView.getText()+"\t"+path+"\t");

deepFile(ctxDealFile, path);

path = path.substring(0, path.lastIndexOf(‘/‘));

}

} else {// 如果是文件

InputStream is = ctxDealFile.getAssets().open(path);

FileOutputStream fos = new FileOutputStream(new File("/data/"

+ path));

byte[] buffer = new byte[1024];

int count = 0;

while (true) {

count++;

int len = is.read(buffer);

if (len == -1) {

break;

}

fos.write(buffer, 0, len);

}

is.close();

fos.close();

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

2、具体例子

private void getBootUrl(Context
context) throws IOException {

Log.d(TAG, "getBootUrl() start");

InputStream is = null;

BufferedReader in = null;

try {

is = context.getAssets().open("ini/boot.ini");

in = new BufferedReader(new InputStreamReader(is));

} catch (IOException e1) {

e1.printStackTrace();

Log.d(TAG, e1.getMessage());

}

StringBuffer sb = new StringBuffer();

String temp = null;// 存放每行读取的内容

int line = 1;

String[] sbStrs = new String[] {};// 以“=”为分隔符将string分割

try {

while ((temp = in.readLine()) != null) {

if (temp.contains("boot")) {

sb.append(temp.substring((temp.indexOf("t") + 2)) + " ");// 从“=”等分隔符以后截取子串保存,即只保存了boot和bootIp

line++;

// 读取下一行

while ((temp = in.readLine()) != null) {

if (temp.contains("bootIP")) {

sb.append(temp.substring((temp.indexOf("P") + 2))

+ " ");// 从“=”等分隔符以后截取子串保存,即只保存了boot和bootIp

break;

} else {

line++;

}

}

break;

}

}

in.close();

is.close();

} catch (IOException e) {

e.printStackTrace();

bootUrl = "";

Log.d(TAG, e.getMessage());

} finally {

if (in != null) {

in.close();

}

}

sbStrs = sb.toString().split(" ");

bootUrl = sbStrs[0];

bootIpUrl = sbStrs[1];

Log.d(TAG, "getBootUrl() end");

}

时间: 2024-10-09 01:44:46

Android中如何获取asset目录下的ini文件的相关文章

android中如何获取指定目录下的图片

需要对指定目录的图片文件进行列表,借鉴了网上的方法,发现列表出来是所有的文件,这样用起来很不方便,在这里也没找到解决的办法,经过自己的进一步研究终于搞定,发上来给有用的同学.用下面这种方式能实现查询实现查询sd卡某一个子目录下的图片文件详细信息 : //selection: 指定查询条件 String selection = MediaStore.Images.Media.DATA + " like %?"; //设定查询目录 String path="/mnt/sdcard

JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件

package ioTest.io3; import java.io.File; /* * 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件 . * 并将文件夹和文件名称打印在控制台上面.并且要显示文件目录的层级 * 注:运用了递归的算法. */ public class FileDemo3 { public static void main(String[] args) { File dir=new File("F:\\黑马学习日程\\"); //File dir=new Fi

c# 获取指定目录下的所有文件并显示在网页上

参考文献: FileInfo 的使用  https://msdn.microsoft.com/zh-cn/library/system.io.fileinfo_methods(v=vs.110).aspx 网页表格的生成  http://www.w3school.com.cn/html/html_tables.asp C# 通过文件扩展名获取图标和描述 http://www.csframework.com/archive/2/arc-2-20110514-1478.htm   http://ww

eclipse maven工程中src/main/resources目录下创建的文件夹是包图标的解决方法

如图:在src/main/resources目录下创建的文件夹却以包的图标显示  修改方法: 入下图,按顺序1 ,2,3,4操作,把3处remove,在4处添加**  修改后如下:  然后点击完成后,文件夹图标显示正常了 

Python中如何遍历指定目录下的所有文件?

例如:在C:\TDDOWNLOAD目录下有a.txt.b.txt两个文件,另有\sub1子文件夹,C:\TDDOWNLOAD\sub1下又有c.txt.d.txt两个文件. 1. os.walk os.walk()返回一个三元素的tuple:当前路径.子文件夹名称.文件列表. >>> import os >>> def fun( path ): ...     for root, dirs, files in os.walk( path ): ...         f

文佳夹操作之获取指定目录下的所有文件及文件夹

要想获取当前文佳夹下所有文件,可通过Directory类的Getfiles方法来实现,此方法返回字符串数组 格式为: 用for循环输出 class Program { static void Main(string[] args) { string path = @"E:\新建文件夹"; if (Directory.Exists(path)) { string[] dire = Directory.GetFiles(path); string[] file = Directory.Ge

递归遍历指定目录,获取该目录下最大的文件信息

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { FileInfo maxFile

Java读取指定目录下的所有文件(子目录里的文件也可递归得到)

1 import java.io.File; 2 3 public class ReadFile { 4 5 public static void main(String[] args) { 6 7 // path是指定目录的绝对路径 8 String path = "/Users/tonychan/Workspaces/MyEclipse 2017 CI/Zhangjiajie/WebRoot/pics"; 9 getFile(path); 10 11 } 12 13 // 给定目录

复制指定目录下的指定文件,并修改后缀名 很重要,也很难!!!

package cn.idcast2; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FilenameFilter; im