assets的读取方式:
1. 先在Activity里面调用getAssets() 来获取AssetManager引用。
2. 再用AssetManager的open(String fileName, int accessMode) 方法则指定读取的文件以及访问模式就能得到输入流InputStream。
3. 然后就是用已经open file 的inputStream读取文件,读取完成后记得inputStream.close() 。
4.调用AssetManager.close() 关闭AssetManager。
需要注意的是,来自Resources和Assets 中的文件只可以读取而不能进行写的 *** 作。
java代码:import java.io.File
import android.app.Activity
import android.os.Bundle
import android.view.View
import android.view.View.OnClickListener
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
public class ShuosouwenjianActivity extends Activity implements OnClickListener {
private File file
private String path
private String info
private String key//关键字
private TextView result// 显示结果
private EditText et// 编辑view
private Button search_btn// button view
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main)
result = (TextView)findViewById(R.id.TextView_Result)
et = (EditText)findViewById(R.id.key)
search_btn = (Button)findViewById(R.id.button_search)
// file = new File(Environment.getExternalStorageDirectory().getPath())
file = new File("/sdcard/")
info = getString(R.string.info)
search_btn.setOnClickListener(this)
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
path = ""
result.setText("")
key = et.getText().toString()
BrowserFile(file)
}
public void BrowserFile(File fileold) {
if (key.equals("")) {
Toast.makeText(this, getString(R.string.pleaseInput), Toast.LENGTH_LONG).show()
} else {
search(fileold)
if (result.getText().equals("")) {
Toast.makeText(this, getString(R.string.notFound), Toast.LENGTH_SHORT).show()
}
}
}
private void search(File fileold)
{
try{
File[] files=fileold.listFiles()
if(files.length>0)
{
for(int j=0j<files.lengthj++)
{
if(!files[j].isDirectory())
{
if(files[j].getName().indexOf(key)>-1)
{
path += "\n" + files[j].getPath()
result.setText(info+path)
//shuju.putString(files[j].getName().toString(),files[j].getPath().toString())
}
}
else{
this.search(files[j])
}
}
}
}
catch(Exception e)
{
}
}
}
MAIN.XML代码:
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/widget0"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button_search"
android:layout_x="253px"
android:layout_y="5px"
android:text="@string/toSearch"
/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/key"
android:text="821077962.db"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="370px"
android:id="@+id/TextView_Result"
android:layout_x="0px"
android:layout_y="60px"
/>
</AbsoluteLayout>
strings.xml代码:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, Activity07!</string>
<string name="app_name">文件搜索</string>
<string name="toSearch">搜索</string>
<string name="info">系统SDCard目录文件路径:\n</string>
<string name="pleaseInput">请输入关键字!</string>
<string name="notFound">SD卡中没有相关文件!!</string>
<string name="pathError">读取路径出错!!</string>
</resources>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)