Java 试图将文件名中的数字字符附加到新文件

Java 试图将文件名中的数字字符附加到新文件,java,file,Java,File,我试图在Java中获取一个文件名,从该文件名中选择前八个字符,然后将它们附加到一个新的文件名中,我不完全确定如何执行此操作,我也不完全确定我的方法是否正确,但到目前为止,我的尝试如下:(上面我有代码可以将一个新文件从一个目录复制到另一个目录,这很有效) 目前唯一给我带来错误的是底部的.renameTo,给出的错误是 找不到符号:方法重命名到(字符串)位置: 字符串解除引用空指针类型的变量文件名 您认为在这两行中会发生什么:stringfilename=null;newfile(fileName)

我试图在Java中获取一个文件名,从该文件名中选择前八个字符,然后将它们附加到一个新的文件名中,我不完全确定如何执行此操作,我也不完全确定我的方法是否正确,但到目前为止,我的尝试如下:(上面我有代码可以将一个新文件从一个目录复制到另一个目录,这很有效)

目前唯一给我带来错误的是底部的
.renameTo
,给出的错误是

找不到符号:方法重命名到(字符串)位置: 字符串解除引用空指针类型的变量文件名


您认为在这两行中会发生什么:
stringfilename=null;newfile(fileName).getName()
?我认为这会将文件名var设置为null,获取文件名中任何内容的名称,哦,亲爱的,我刚刚意识到它无法获取名称,因为它设置为null,我无法删除null,或者我得到一个将其设置为null的提示:s-现在我真的很困惑我有这个变量是因为我想让它将当前文件名存储在varia中ble,所以我可以使用它,但现在我注意到情况并非如此,我不确定如何解决这个问题
文件中有什么类型的字符串
你从
文件
集合中得到了什么。文件名不应该全部准备好,至少部分准备好吗?从
St解析你的文件名环文件应该是直接的尝试。这里发生的事情也应该是
fileNames=fileNames.substring(0,8)+“…”;
?您是否实际附加了三个点(在文件名中不可行),或者它只是一个占位符,在代码中写入了其他内容?查看
if(fileNames.length()>16)
:由于
文件名
是在8个字符后拆分的字符串
即25个字符,因此代码将运行
文件名=文件名。子字符串(0,8)+“…”
,那么您最终得到的值是
Split af..
。现在,这个练习的目的是什么?您认为这两行中会发生什么:
String fileName=null;new File(fileName).getName()
?我认为这会将文件名var设置为null,获取文件名中任何内容的名称,哦,亲爱的,我刚刚意识到它无法获取名称,因为它设置为null,我无法删除null,或者我得到一个将其设置为null的提示:s-现在我真的很困惑我有这个变量是因为我想让它将当前文件名存储在varia中ble,所以我可以使用它,但现在我注意到情况并非如此,我不确定如何解决这个问题
文件中有什么类型的字符串
你从
文件
集合中得到了什么。文件名不应该全部准备好,至少部分准备好吗?从
St解析你的文件名环文件应该是直接的尝试。这里发生的事情也应该是
fileNames=fileNames.substring(0,8)+“…”;
?您是否实际附加了三个点(在文件名中不可行),或者它只是一个占位符,在代码中写入了其他内容?查看
if(fileNames.length()>16)
:由于
文件名
是字符串
在8个字符后拆分!
即25个字符,因此代码将运行
fileNames=fileNames.substring(0,8)+“…”
,因此您最终得到的值为
拆分af.
。现在,该练习的重点是什么?
for (String file : files) {
    File srcFile = new File(src, file);
    String fileName = null; 
    new File(fileName).getName();    
    String fileNames;    
    fileNames = "Split after 8 characters!";    
    if (fileNames.length() > 16)
        fileNames = fileNames.substring(0, 8) + "...";  
    File destFile = new File(dest, file);    
    copyFolder(srcFile,destFile); 
    fileName.renameTo(fileNames);    
}