如何通过Java/Eclipse更改.PNG文件名

如何通过Java/Eclipse更改.PNG文件名,java,eclipse,rename,Java,Eclipse,Rename,我想知道是否有人能帮我解决这个问题。我想在通过Linux使用JavaEclipse创建一个文件.png后立即更改/重命名它的名称。因此,当文件保存到文件夹中时,我希望用户能够将其名称更改为用户想要的任何名称。我该怎么做? 这是我的密码 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.File; import

我想知道是否有人能帮我解决这个问题。我想在通过Linux使用JavaEclipse创建一个文件.png后立即更改/重命名它的名称。因此,当文件保存到文件夹中时,我希望用户能够将其名称更改为用户想要的任何名称。我该怎么做? 这是我的密码

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;

import javax.swing.JFileChooser;
import javax.swing.JOptionPane;


public class adbPicture implements ActionListener {
@Override
public void actionPerformed(ActionEvent arg0) {


// exec.(points at whatever .sh file you want to run in the folder)
try {
Process proc = Runtime.getRuntime().exec("sh /home/local/ANT/arthm/Desktop/stuff/pics1.sh);
BufferedReader read = new BufferedReader(new InputStreamReader(             proc.getInputStream()));
try {
proc.waitFor();
} catch (InterruptedException e) {
 System.out.println(e.getMessage());
}
while (read.ready()) {
System.out.println(read.readLine());
}
} catch (IOException e) {
JOptionPane.showMessageDialog(null, "Error 5! You Messed Up!");
}



int picreply = JOptionPane.showConfirmDialog(null, "Would you like to change the name?", null, JOptionPane.YES_NO_OPTION);
if(picreply == JOptionPane.YES_OPTION){
String namestuff = JOptionPane.showInputDialog(null, "Please Input Name"); 

// Here in this area is where I want to add the code to change the name of the file...
}
else {
System.exit(0); // also this makes me exit the whole program, how do I only exit the //showConfirmDialog box?

}
}

}
你可以用

注意。如果更改文件的存储位置,这将像移动一样,您可以使用

String fileRenamed = JOptionPane.showInputDialog(null, "Please Input New Name"); 


Process proc = Runtime.getRuntime().exec("mv "+ pathToFile+namestuff+" "+pathToFile+fileRenamed);

注意。如果更改文件的存储位置,这将像移动一样

@anguyen;在.exec中(“mv”+pathToFile+namestuf+”+pathToFile+filenamed);//我创建了一个名为//pathToFile的新变量?还是我要将实际路径放入文件?如果我输入//实际路径,我可能需要使用“”括号?pathToFile只是一个模拟文件,您必须用正确的文件路径替换。文件的pat是一个字符串,因此它必须位于两个双引号内。是的,这要求pathToFile是文件的有效路径。旁注:在这个(或任何)场景中,nameStuff不是一个合理的变量名。有多个名称需要管理,很难区分哪个是新名称,哪个是旧名称。@anguyen;在.exec中(“mv”+pathToFile+namestuf+”+pathToFile+filenamed);//我创建了一个名为//pathToFile的新变量?还是我要将实际路径放入文件?如果我输入//实际路径,我可能需要使用“”括号?pathToFile只是一个模拟文件,您必须用正确的文件路径替换。文件的pat是一个字符串,因此它必须位于两个双引号内。是的,这要求pathToFile是文件的有效路径。旁注:在这个(或任何)场景中,nameStuff不是一个合理的变量名。有多个名称需要管理,很难区分哪个是新名称,哪个是旧名称;这是否允许输入他/她自己的文件名?另外,我应该输入旧文件的名称吗?在新文件中(“…”);对字符串参数将是相关文件的路径/文件名。如果只传递名称,则将其重命名为新文件(“…”)中的当前工作目录;这是否允许输入他/她自己的文件名?另外,我应该输入旧文件的名称吗?在新文件中(“…”);对字符串参数将是相关文件的路径/文件名。如果只传递名称,则会将其重命名为当前工作目录
String fileRenamed = JOptionPane.showInputDialog(null, "Please Input New Name"); 


Process proc = Runtime.getRuntime().exec("mv "+ pathToFile+namestuff+" "+pathToFile+fileRenamed);