[英]Extract file name from list
在循環期間,我的列表包含csv文件,我想獲取文件名,在該文件名下將保存輸出。
范例 :
文件列表: t1.csv
, t2.csv
, t3.csv
輸出列表應如下所示: t1.xml, t2.xml, t3.xml
sample.java
List<String> csvFiles = new ArrayList<String>();
try {
File[] files = new File(textCSV.getText()).listFiles();
for (File file : files) {
if (file.isFile()) {
csvFiles.add(file.getName());
}
}
for(int i=0;i<csvFiles.size();i++) {
System.out.println(csvFiles.get(i));
String Output = ".xml" //how to put here csv name
}
}
您可以這樣重寫。
List<String> csvFiles = new ArrayList<String>();
try {
File[] files = new File(textCSV.getText()).listFiles();
for (File file : files) {
if (file.isFile()) {
csvFiles.add(file.getName());
}
}
for(int i=0;i<csvFiles.size();i++)
{
System.out.println(csvFiles.get(i));
String Output = csvFiles.get(i).substring(0, csvFiles.get(i).indexOf(".")) + ".xml" //how to put here csv name
}
}
我可以通過3種方式想到僅提取文件名的位置。
使用Apache Commons庫
FilenameUtils.removeExtension(file.getName());
如果您的文件將始終包含至少一個擴展名 (文件名中至少包含一個“。”)
file.getName().substring(0, file.getName().lastIndexOf("."));
如果某些文件不包含任何擴展名
int index = file.getName().lastIndexOf("."); if (index == -1) { file.getName(); } else { file.getName().substring(0, index); }
您可以替換csvFiles.add(file.getName());
到csvFiles.add();
與上述任何一行一樣帶有參數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.