我正在使用数据目录中的文件数据作为输入来创建一个javaFX项目.我想将每个文件名用作String变量.我已经加载了数据:
File path = new File("data");
File [] files = path.listFiles();
for (int i = 0; i < files.length; i++){
if (files[i].isFile()){
items.loadData(files[i].toString());
}
Run Code Online (Sandbox Code Playgroud)
toString现在是data/fileName1.csv.我只想保存使用fileName1.我尝试在loadData()方法中使用split()方法,如下所示:
fileName= fileName.split("/")[1]; //should trim to fileName1.csv, works
fileName= fileName.split("\.")[0]; //should trim to fileName1, error
Run Code Online (Sandbox Code Playgroud)
第二个split()的错误是"无效的转义序列(有效转义序列是\ b\t \n\f\r \"\'\)".
我尝试过各种修改来解决这个问题.有没有更好/更有效的方法来实现这一目标?
编辑:更改修剪以分割
你需要逃避反斜杠.尝试\\.
但对于这样的操作,您应该使用Path函数,例如:https://docs.oracle.com/javase/7/docs/api/java/nio/file/Path.html#getFileName()