java 功能实现

来源:百度知道 编辑:UC知道 时间:2024/05/28 18:20:23
求以下功能实现:
String sPath = //windows系统中一个基础地址,已经确定
Hashtable <String ,String> fileTable; //记录源文件地址与目标复制地址的关系
JTree tree //文件传送目标地址树

实现以下函数

/**
* 将文件添加到树中并记录fileTable信息
* @param path:源文件地址:以\开头的是相对基础地质sPath的相对值;否则是绝对地址,该地址可能是文件夹,也可能是文件
* @param rName:将文件(夹)重命名后的名称
* @param dPath:目标位置的地址,是绝对地址
* @return
*/
public boolean add(String path , String rName , String dPath){
树中显示的是目标位置的地址树,且是重命名后的名称,此树跟为基础地址,下属两个孩子(基础地址下的文件,绝对地址的文件);每次执行此函数,若是相对值,则加到基础地址节点(根的孩子)下,按照windows树那种形式显示(要到具体的文件),若是绝对值,则直接加到绝对地址节点下,直接显示目标绝对地址,并将源文件地址和目标地址信息关联关系添加到fileTable下
}
强调:树中的是目标位置的像windows的资源管理器那样形式的文件路径数(显示具体的文件)
是在实现过程中遇到了问题,而且没有时间给我想了,所有有能力、有时间的各位帮帮忙啦

发个遍历数的程序给你吧,关于对文件的重命名就没写了:
1、
import java.awt.*;
import javax.swing.*;
import java.io.File;
public class FileTree
{
public static void main(String args[]) throws Exception {
JFrame frame = new JFrame("FileTree");
Container cp = frame.getContentPane();
if (args.length == 0) {
cp.add(new trepanel((File.listRoots())[0]));
}
else {
cp.setLayout(new BoxLayout(cp, BoxLayout.X_AXIS));
for (int i = 0; i < args.length; i++)
cp.add(new trepanel(new File(args[i])));
}
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

2、
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.io.File;
import java.util.Collections;
import java.util.Vector;

import javax.swin