我正在为一些朋友恢复FTP客户端,它基本上已经完成,但是我有一个程序从中删除文件。我有一个运行删除功能的按钮,它获取列表的选定值,将其放入一个删除它的字符串,但它不起作用。 :/
以下是我的代码的一部分:(对不起任何不良约定)
JLlist:
public void jlist() {
//JList, list
try {
String[] files = ftpClient.listNames();
for(String item: files){
model.addElement(item);
}
listScroller = new JScrollPane(list);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.setLayoutOrientation(JList.VERTICAL);
list.setVisibleRowCount(3);
listScroller.setPreferredSize(new Dimension(250, 80));
listScroller.setBounds(115, 10, 450, 530);
}catch(IOException e){}
}
删除:
public void delete(){
String deletef = fileChooser.getSelectedFile().toString();
try{
ftpClient.deleteFile(deletef);
System.out.println(deletef);
boolean deleted = ftpClient.deleteFile(deletef);
if (deleted) {
connected.setText("File has been deleted.");
model.removeElement(deletef);
}
}catch(IOException e){
connected.setText("Something went wrong; try again");
}
提前致谢!
答案 0 :(得分:0)
您必须使用AJAX
,不能使用Java
删除。
您可以使用Apache FTPClient执行此操作以及FTP上的所有其他命令。使用这样的东西:
...
FTPClient client = new FTPClient();
client.connect(host, port);
client.login(loginname, password);
client.deleteFile(fileNameOnServer);
client.disconnect();
...
你去了,没有得到赞扬,只是在快速搜索中找到它。
答案 1 :(得分:0)
首先,您使用了两次deleteFile方法
ftpClient.deleteFile(deletef);
System.out.println(deletef);
boolean deleted = ftpClient.deleteFile(deletef);
第二,是否正在删除文件(如果你检查不使用其他FPT程序)? 这意味着,第一次使用deleteFile调用是否正常工作,第二次尝试是异常?