Java 从列表中提取文件名
在循环过程中,我的列表包含csv文件,我想获取文件名,在该文件名下保存我的输出 示例: 文件列表:Java 从列表中提取文件名,java,list,file,for-loop,filelist,Java,List,File,For Loop,Filelist,在循环过程中,我的列表包含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.getTe
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 csvFiles=new ArrayList();
试一试{
File[]files=新文件(textCSV.getText()).listFiles();
用于(文件:文件){
if(file.isFile()){
添加(file.getName());
}
}
对于(inti=0;i可以这样重写
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
}
}
List csvFiles=new ArrayList();
试一试{
File[]files=新文件(textCSV.getText()).listFiles();
用于(文件:文件){
if(file.isFile()){
添加(file.getName());
}
}
对于(inti=0;i,我可以想出3种方法,在那里您可以只提取文件名
使用Apache Commons库
FilenameUtils.removeExtension(file.getName());
如果您的文件总是包含至少一个扩展名(文件名中至少有一个“.”)
如果存在不包含任何扩展名的文件
int index = file.getName().lastIndexOf(".");
if (index == -1) {
file.getName();
} else {
file.getName().substring(0, index);
}
您可以将csvFiles.add(file.getName());
替换为csvFiles.add();
,并将参数替换为上述任何一行。System.out.println(csvFiles.get(i).replace(“.csv”、“.xml”))
thx,它也可以工作!如果文件名中包含多个“.”(点),也许您应该将indexOf
替换为lastIndexOf
)
int index = file.getName().lastIndexOf(".");
if (index == -1) {
file.getName();
} else {
file.getName().substring(0, index);
}