我以这种方式添加两个文件,但我收到错误消息,不是以这种方式添加两个文件。
文件雇用=新文件(“E:/employee.xml”,“E:/one/two/student.xml”);
4 回答
您使用的构造函数在 Java API 文档中被提及为:
公共文件(字符串父,字符串子)
File
从父路径名字符串和子路径名字符串创建一个新实例。如果 parent 为 null,则创建新的 File 实例,就好像通过在给定的子路径名字符串上调用单参数 File 构造函数一样。
否则,父路径名字符串被用来表示目录,而子路径名字符串被用来表示目录或文件。如果子路径名字符串是绝对的,那么它将以系统相关的方式转换为相对路径名。如果 parent 是空字符串,则通过将 child 转换为抽象路径名并根据系统相关的默认目录解析结果来创建新的 File 实例。否则,每个路径名字符串都将转换为抽象路径名,并且子抽象路径名将针对父级解析。
参数:
parent
- 父路径名字符串child
- 子路径名字符串抛出:
NullPointerException
- 如果孩子是null
它不是为了添加两个文件。您需要自己做一些工作,编写一些添加这两个文件的逻辑。
我认为您正在尝试将两个 XML 文件合并到一个 XML 文件中。Apache Commons Configurations
如果您希望合并的文件具有商业意义,您应该调查一下。
CombinedConfiguration
http://commons.apache.org/configuration/userguide/howto_combinedconfiguration.html
File employ = new File("E:\\employee.xml");
File employ2 = new File("E:\\one\\two\\student.xml");
??
如果“添加两个文件”是指要连接两个文件,请尝试以下操作:
import java.io.*;
import java.io.FileInputStream;
public class CopyFile{
private static void copyfile(String srFile, String dtFile){
try{
File f1 = new File(srFile);
File f2 = new File(dtFile);
InputStream in = new FileInputStream(f1);
//For Append the file.
OutputStream out = new FileOutputStream(f2,true);
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0){
out.write(buf, 0, len);
}
in.close();
out.close();
System.out.println("File copied.");
}
catch(FileNotFoundException ex){
System.out.println(ex.getMessage() + " in the specified directory.");
System.exit(0);
}
catch(IOException e){
System.out.println(e.getMessage());
}
}
public static void main(String[] args){
switch(args.length){
case 0: System.out.println("File has not mentioned.");
System.exit(0);
case 1: System.out.println("Destination file has not mentioned.");
System.exit(0);
case 2: copyfile(args[0],args[1]);
System.exit(0);
default : System.out.println("Multiple files are not allow.");
System.exit(0);
}
}
}
希望能帮助到你!