在java中导入文件

时间:2013-11-25 20:27:09

标签: java

package com.teamsite.client;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.util.Hashtable;
import com.interwoven.cssdk.common.CSClient;
import org.apache.commons.lang.StringUtils;
import com.interwoven.cssdk.access.CSUser;
import com.interwoven.cssdk.common.CSClient;
import com.interwoven.cssdk.common.CSException;
import com.interwoven.cssdk.filesys.CSAreaRelativePath;
import com.interwoven.cssdk.workflow.CSExternalTask;
import com.interwoven.cssdk.workflow.CSTask;
import com.interwoven.cssdk.workflow.CSURLExternalTask;
import com.interwoven.cssdk.workflow.CSWorkflow;
import java.util.logging.*;

public class ApplicationEdition implements CSURLExternalTask{

private static String userid;
private static String cssdkconfigfile;
private String applicationName;
private String applicationEditionPath;
private static CSClient csClient;

public static final String KEY_TARGET_TASK_NAME = "target_task_name";
private String transitionComment = "Auditing for deployed files ";
private String transition = "";

public static String getCssdkconfigfile() {
    return cssdkconfigfile;
}

public static void setCssdkconfigfile(String cssdkconfigfile) {
    ApplicationEdition.cssdkconfigfile = cssdkconfigfile;
}

private static CSClient getCsClient() {
    return csClient;
}

private static void setCsClient(CSClient csClient) {
    ApplicationEdition.csClient = csClient;
}
private static String getUserid() {
    return userid;
}

private static void setUserid(String userid) {
    ApplicationEdition.userid = userid;
}

private String getApplicationName() {
    return applicationName;
}

private void setApplicationName(String applicationName) {
    this.applicationName = applicationName;
}

private String getApplicationEditionPath() {
    return applicationEditionPath;
}

private void setApplicationEditionPath(String applicationEditionPath) {
    this.applicationEditionPath = applicationEditionPath;
}

@Override
 public void execute(CSClient client, CSExternalTask currentTask, Hashtable params) throws     CSException {

    String userId = client.toString();
    String cssdkconfigfile = "D:\\iw-home\\TeamSite\\cssdk\\cssdk.cfg";
    setUserid(userId);
    setCssdkconfigfile(cssdkconfigfile);
    String targetTaskName = currentTask.getVariable(KEY_TARGET_TASK_NAME);

    CSUser thisTaskOwner = currentTask.getOwner();
   String thisTaskOwnerAddress = thisTaskOwner.getEmailAddress();

  String branchName = currentTask.getArea().getBranch().getName();
  CSAreaRelativePath[] files = currentTask.getFiles();
  String Area = currentTask.getArea().getName();
  System.err.println("*********************************************************");
  System.err.println("Target task name"+targetTaskName);
  System.err.println("Task owner's address"+thisTaskOwnerAddress);
  System.err.println("Area name"+Area);
  System.err.println("*********************************************************");
    }  private static CSTask getTaskByName(CSWorkflow job, String name) throws CSException {
        if (name == null) {
            return null;
        }
        CSTask[] tasks = job.getTasks();
        for (int i=0; i<tasks.length; i++) {
            if (name.equals(tasks[i].getName())) {
                return tasks[i];
            }
        }
        return null;        
    }

 public static void showFiles(String string1,String string2,String string3 ) {
    try {
            File filename = new File     ("C:\\temp\\ApplicationEditions_dynamic.txt");

                 BufferedWriter writer = new BufferedWriter(new FileWriter(filename,true));
                 writer.write(string1+"\n");
                 writer.write(string2+"\n");
                 writer.write(string3+"\n");
                 writer.newLine();
                 writer.close();
         } 


     catch (Exception e)
            {
                System.out.println("Error occurred due to branch, refer output file");
            }
    finally {


            }
    }   }    

在此代码中,以下文件将导入此源文件

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.util.Hashtable;
import com.interwoven.cssdk.common.CSClient;
import org.apache.commons.lang.StringUtils;
import com.interwoven.cssdk.access.CSUser;
import com.interwoven.cssdk.common.CSClient;
import com.interwoven.cssdk.common.CSException;
import com.interwoven.cssdk.filesys.CSAreaRelativePath;
import com.interwoven.cssdk.workflow.CSExternalTask;
import com.interwoven.cssdk.workflow.CSTask;
import com.interwoven.cssdk.workflow.CSURLExternalTask;
import com.interwoven.cssdk.workflow.CSWorkflow;      

此处源文件位于“package com.teamsite.client”中。因此,从位置com.interwoven.cssdk.common.CSClient导入的其他文件应该具有到“com”文件夹的公共路径,并且在“com”目录中应该有dir“交织”并且在这个目录中应该有其他目录。
但是当我检查服务器上的dir时,我看不到任何其他目录而不是teamsite。这段代码工作正常,没有任何问题 那么,这些其他文件如何在这里导入?我们的环境有点复杂,但仍然需要将文件放在导入的路径中。我们有保存jar的存储库。

由于

2 个答案:

答案 0 :(得分:1)

当类加载器查找类时,例如com.interwoven.cssdk.workflow.CSExternalTask,它扫描整个类路径,寻找像com/intervowen/cssdk/workflow这样的目录分支。上述声明还包括可能在类路径上的爆炸罐。

类路径通常包含比可运行jar文件更多的目录。显然,您的jar不应包含以com.*开头的包中包含的所有类,因此可以从类路径的任何位置导入这些类。

答案 1 :(得分:0)

你的类路径上可能有一个.jarcom.interwoven.cssdk.个包。

.jar个文件的行为类似于zip文件,其中包含自己的目录结构。