package com.edison.ex;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
public class ListAllFiles {
public Context mCon;
public List<File> fileNameList;
/***/
public ArrayList<String> fnList;
public ListAllFiles(Context mCon) {
this.mCon = mCon;
}
public void initFileList(String mPath) {
File path = new File(mPath);
File[] f = path.listFiles();
fill(f);
}
/** Returns an array of files contained in the directory */
public void initFileList(File mFile) {
File[] f = mFile.listFiles();
fill(f);
}
public void fill(File[] files) {
fileNameList = new ArrayList<File>();
for (File file : files) {
if (isValidFileOrDir(file)) {
fileNameList.add(file);
}
}
System.out.println("fileNameList.size===" + fileNameList.size());
fileToStrArr(fileNameList);
}
/** 将文件夹或文件名字的名称保存到字符串数组当中. */
private String[] fileToStrArr(List<File> fl) {
fnList = new ArrayList<String>();
for (int i = 0; i < fl.size(); i++) {
String nameString = fl.get(i).getName();
fnList.add(nameString);
}
System.out.println("fnList.size===" + fnList.size());
return fnList.toArray(new String[0]);
}
/** 检查是否为合法的文件夹名和文件(文件是否为txt文件) */
private boolean isValidFileOrDir(File file) {
if (file.isDirectory()) {
return true;
} else {
String fileName = file.getName().toLowerCase();
if (fileName.endsWith(".txt")) {
return true;
}
}
return false;
}
}
package com.edison.ex;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.TextView;
public class ViewFile extends Activity {
private String filenameString;
private static final String gb2312 = "GB2312";
private static final String utf8 = "UTF-8";
private static final String defaultCode = gb2312;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.filebrowser);
try {
Bundle bunde = this.getIntent().getExtras();
filenameString = bunde.getString("fileName");
refreshGUI(defaultCode);
} catch (Exception e) {
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = this.getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.gb2312:
refreshGUI(defaultCode);
break;
case R.id.utf8:
refreshGUI(utf8);
break;
}
return super.onOptionsItemSelected(item);
}
private void refreshGUI(String code) {
TextView tv = (TextView) findViewById(R.id.view_contents);
String fileContent = getStringFromFile(code);
tv.setText(fileContent);
}
public String getStringFromFile(String code) {
try {
StringBuffer sBuffer = new StringBuffer();
FileInputStream fInputStream = new FileInputStream(filenameString);
InputStreamReader inputStreamReader = new InputStreamReader(
fInputStream, code);
BufferedReader in = new BufferedReader(inputStreamReader);
if (!new File(filenameString).exists()) {
return null;
}
while (in.ready()) {
sBuffer.append(in.readLine() + "\n");
}
in.close();
return sBuffer.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
// 读取文件内容
public byte[] readFile(String fileName) throws Exception {
byte[] result = null;
FileInputStream fis = null;
try {
File file = new File(fileName);
fis = new FileInputStream(file);
result = new byte[fis.available()];
fis.read(result);
} catch (Exception e) {
} finally {
fis.close();
}
return result;
}
}
package com.edison.ex;
import java.io.File;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class ReadTextActivity extends ListActivity {
ListAllFiles mListAllFiles;
ArrayAdapter<String> adapter;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mListAllFiles = new ListAllFiles(this);
mListAllFiles.initFileList(android.os.Environment
.getExternalStorageDirectory());
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, mListAllFiles.fnList);
setListAdapter(adapter);
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
Intent intent = new Intent(ReadTextActivity.this, ViewFile.class);
Bundle bundle = new Bundle();
File file = mListAllFiles.fileNameList.get(position);
if (file.isDirectory()) {
File[] f = file.listFiles();
mListAllFiles.fill(f);
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, mListAllFiles.fnList);
setListAdapter(adapter);
} else {
bundle.putString("fileName", file.getAbsolutePath());
intent.putExtras(bundle);
startActivityForResult(intent, 0);
}
}
}
分享到:
相关推荐
在C#编程中,列举指定文件夹中的所有文件是一项常见的任务,这通常涉及到对文件系统进行操作。在本文中,我们将深入探讨如何使用C#语言实现这一功能,并讲解相关的类库、方法和步骤。 首先,我们需要引入`System.IO...
这个脚本在非递归模式下遍历指定目录,对每个文件进行MD5哈希计算,并将结果保存到文件中,以便后续比较和验证。虽然MD5已不再被视为安全的哈希算法,但在很多场景下,它仍然能满足数据完整性检查的需求。
在这个场景中,开发者可能编写了一个程序,能够实现删除指定的文件夹及其包含的所有子文件和子文件夹。 在描述中提到了"代码很简单,构思严谨,功能实用",这意味着程序的源代码结构清晰,遵循了良好的编程规范,...
在Qt编程中,删除文件夹内的所有内容是一个常见的任务,涉及到文件系统操作。Qt库提供了丰富的函数和类来处理这些操作。本篇文章将详细讲解如何使用Qt实现删除文件夹内所有内容的功能,包括文件和子文件夹。 首先,...
实际应用中,你需要将上述逻辑与这个文件中的具体代码结合起来,以便实现完整的功能。 总结起来,这个任务涵盖了文件操作、数据库查询以及用户界面组件的使用。易语言提供了丰富的内置命令和库,使得这些操作变得...
`Directory`类提供了对目录的操作,如列举目录中的所有文件和子目录,而`File`类则用于处理单个文件,包括删除文件。以下是一个简单的示例,演示如何删除指定文件夹下的所有文件: ```csharp using System.IO; ...
可以在EXCEL文件中链接目录,包含文件大小,创建日期,修改日期
在 IrpFile_Test 文件中,可能包含了一些示例代码或者测试用例,用于演示上述驱动层操作的具体实现。这些代码可能涵盖了IRP的处理、系统调用的模拟以及文件属性的操纵等。通过分析和理解这些代码,开发者能够更好地...
QT文件查询是一个基于Qt库开发的应用程序,它允许用户快速查询单个文件或整个文件夹下的所有文件的行数。Qt是一个跨平台的C++图形用户界面应用程序开发框架,广泛用于创建桌面、移动和嵌入式平台的应用。通过使用Qt...
在C语言中,遍历一个文件夹的所有文件通常涉及到文件系统的操作。这个过程可以通过使用特定的函数来查找、列举和处理文件系统中的目录项。在给出的代码示例中,使用了Microsoft Windows API中的`_findfirst`, `_...
4. **遍历文件夹**:在这个实例中,VBA宏会用到FSO的`GetFolder`方法来获取"我的最爱"文件夹对象,然后通过`Files`集合遍历该文件夹中的所有文件。 5. **文件信息获取**:使用FSO的`File`对象,可以获取每个文件的...
在"列举文件夹内的文档名称.xlsm"这个文件中,打开后会看到VBA编辑器中的模块和代码,通过调试和运行,我们可以看到实际效果。这样的宏程序对于整理和管理大量文件非常有用,尤其在办公室环境中,能够节省大量手动...
这个压缩包“Excel-VBA宏编程实例源代码-列举文件夹内的子文件夹名称.zip”提供了用于列举指定文件夹内所有子文件夹名称的VBA宏示例。以下是对这个实例源代码的详细解析和相关知识点的介绍: 首先,我们要理解VBA宏...
通过创建FileSystemObject,我们可以访问文件和文件夹,读写文件,以及列举文件夹中的内容。 2. **Folder对象和File对象**: FileSystemObject提供`GetFolder()`方法来获取一个Folder对象,代表指定路径的文件夹。...
例如,以下代码展示了如何打开并列举一个ZIP文件中的所有条目(文件或目录): ```csharp using (var zip = ZipFile.Read("path_to_your_zip_file.zip")) { foreach (ZipEntry entry in zip) { Console....
摘要:C#源码,文件操作,文件夹 C#获取指定文件夹下的所有文件夹,获取...与<a href="http://www.codefans.net/soft/10648.shtml" target="_blank">C# 列举指定文件夹中的所有文件,枚举文件夹是十分相似的实例小程序。
在计算机编程领域,文件搜索是一项基本且重要的功能,它使得用户能够高效地在海量文件中定位所需的目标。易语言作为一款中国本土的编程语言,提供了简单易懂的语法,让开发者可以轻松实现文件搜索功能。本文将围绕...
"目录文件列举,文件数统计"这一主题涉及到在操作系统中如何列出指定目录下的所有文件,以及如何统计这些文件的数量。这个过程通常用于文件管理、数据备份、日志分析等多种应用场景。 首先,我们需要了解操作系统中...