我的场景中存在大约5600个文件。 我可以使用以下代码检索文件名:
String path = "D:\\Projects worked upon\\ANZ\\Anz new\\Files\\329703588_20160328124733595\\Output"; String files;
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++)
{
if (listOfFiles[i].isFile())
{
files = listOfFiles[i].getName();
if (files.toLowerCase().endsWith(".xml"))
{
System.out.println(files);
}
,但我只需要第一部分For Eg:如果文件夹中的文件名是“abc_Transformed.xml”,我只需要abc ..如何获得它?
答案 0 :(得分:0)
您可以使用substring方法查找第一个字符串。
String path = "D:\\Projects worked upon\\ANZ\\Anz new\\Files\\329703588_20160328124733595\\Output"; String files;
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++)
{
if (listOfFiles[i].isFile())
{
files = listOfFiles[i].getName();
if (files.toLowerCase().endsWith(".xml"))
{
String result = files.substring(0, files.indexOf("_"));
System.out.println(result);
}
您的整个代码
{{1}}
答案 1 :(得分:0)
有关文件的信息基本上无关紧要。您正在执行一些基本的Button remove = (Button) findViewById(R.id.remove);
remove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DownloadManager.Query query = new DownloadManager.Query();
query.setFilterByStatus (DownloadManager.STATUS_FAILED|DownloadManager.STATUS_PENDING|DownloadManager.STATUS_RUNNING);
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
Cursor c = dm.query(query);
while(c.moveToNext()) {
dm.remove(c.getLong(c.getColumnIndex(DownloadManager.COLUMN_ID)));
}
}
});
操作函数。
您可以尝试使用String.split()之类的内容:
String
使用String.indexOf()和String.substr()之类的内容:
String[] pieces = files.split("_");
String first = pieces[0]; // should be equal to "abc"
如果您是Java新手,那么值得花时间审核所有String functions。