gpt4 book ai didi

java - 获取 ArrayList 中文件的 lastModifiedDate() 和 fileSize()

转载 作者:行者123 更新时间:2023-11-30 03:27:13 26 4
gpt4 key购买 nike

我有以下方法:

    public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState ) {
final RelativeLayout mFrame3 = (RelativeLayout) inflater.inflate( R.layout.ptrip, container, false );

File folder = new File(Environment.getExternalStorageDirectory() + "/tc/");
ListView lv;
ArrayList<String> FilesInFolder = GetFiles(folder.getAbsolutePath());
Toast.makeText(getActivity(), FilesInFolder.get(0).toString(), 2000).show(); //display filename (0)
////////////////////////
///////////////////////
//would this work:
//for (int i = 0; i <= FilesInFolder.length(); i++) {
//long lastTime = FilesInFolder[0].lastModified();
//String dateString = DateFormat.format("MM/dd/yyyy", new Date(lastTime)).toString(); //last modified date?
//String sizeString = getReadableSize(FolderInFiles[i].length()); //file size?
//}
//////////////////////
//////////////////////
lv = (ListView) mFrame3.findViewById(R.id.lvFiles);

lv.setAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, FilesInFolder));

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// Clicking on items
//Toast.makeText(getActivity(), "Item " + (position + 1) + ": ID" + v, Toast.LENGTH_SHORT).show();
}
});
return mFrame3;
}

我的 GetFolder 函数是:

public ArrayList<String> GetFiles(String DirectoryPath) {
ArrayList<String> MyFiles = new ArrayList<String>();
File f = new File(DirectoryPath);


//f.mkdirs();
File[] files = f.listFiles();
if (files.length == 0)
return null;
else {
for (int i=0; i<files.length; i++) {
if (files[i].getName().endsWith(".tol")) {
long lastTime = files[i].lastModified();
String dateString = DateFormat.format("MM/dd/yyyy", new Date(lastTime)).toString();
String sizeString = getReadableSize(files[i].length());
//String fileName = files[i].getName().substring(0, files[i].getName().lastIndexOf("."));
MyFiles.add(files[i].getName());
//MyFiles.add("Trip Name: " + fileName + "\nTrip Taken On: " + dateString + "\n" + sizeString);
}
}
}

return MyFiles;
}

如何在 onCreateMethod 中获取 fileSizelastModifiedDate?我在 GetFolder 方法中注释掉了 fileSizelastModifiedDate ,因为我只想获取文件名,这样我就可以在 中读取文件>onCreate 方法在 MultiLine EditText 中显示它的 ASCII 内容。

这会像上面添加的那样在 onCreate 中工作吗:

//display filename (0)
////////////////////////
///////////////////////
//would this work:
//for (int i = 0; i <= FilesInFolder.length(); i++) {
//long lastTime = FilesInFolder[0].lastModified();
//String dateString = DateFormat.format("MM/dd/yyyy", new Date(lastTime)).toString(); //last modified date?
//String sizeString = getReadableSize(FolderInFiles[i].length()); //file size?
//}
//////////////////////
//////////////////////

最佳答案

你有三个选择

  • 如果不想改GetFiles : 在 onCreate , 创建一个 File从文件名实例,并调用那里的方法。这是唯一的选择,如果您不能更改 GetFiles无论出于何种原因。

  • 创建一个类 MyFile它具有三个字段( namefileSizelastModifiedDate ),并返回一个 List<MyFile>来自 GetFiles .一般来说,如果您只想返回属性的有限子集或实例的只读 View (例如没有 setter ),则此选项很有用。

  • 返回 List<File>来自 GetFiles

最后一个选项简单且惯用。

关于java - 获取 ArrayList 中文件的 lastModifiedDate() 和 fileSize(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18045974/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com