1

During loop my list contains csv files, I want to get file name, under which I will save my output.

Example:

File list: t1.csv, t2.csv, t3.csv

Output list should look: 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
    }
}
4

2 に答える 2

1

ファイル名だけを抽出できる場所として考えられる方法は 3 つあります。

  1. Apache コモンズ ライブラリの使用

    FilenameUtils.removeExtension(file.getName());
    
  2. ファイルに常に少なくとも 1 つの拡張子(ファイル名に少なくとも 1 つの「.」)が含まれている場合

    file.getName().substring(0, file.getName().lastIndexOf("."));
    
  3. 拡張子を含まないファイルがある場合

    int index = file.getName().lastIndexOf(".");
    if (index == -1) {
        file.getName();
    } else {
        file.getName().substring(0, index);
    }
    

csvFiles.add(file.getName());上記の行のいずれかのように、 tocsvFiles.add();を引数に置き換えることができます。

于 2016-12-28T09:31:50.907 に答える