0

この方法で 2 つのファイルを追加していますが、この方法で 2 つのファイルを追加していないというエラー メッセージが表示されました。
File Employ = new File("E:/employee.xml","E:/one/two/student.xml");

4

4 に答える 4

1

使用したコンストラクターは、Java API ドキュメントに次のように記載されています。

public File(文字列の親、文字列の子)

File親パス名文字列と子パス名文字列から新しいインスタンスを作成します。

親が null の場合、指定された子のパス名文字列で単一引数の File コンストラクターを呼び出すかのように、新しい File インスタンスが作成されます。

それ以外の場合、親のパス名文字列はディレクトリを表すために使用され、子のパス名文字列はディレクトリまたはファイルを表すために使用されます。子パス名文字列が絶対パス名の場合、システムに依存する方法で相対パス名に変換されます。親が空の文字列の場合、子を抽象パス名に変換し、システム依存のデフォルト ディレクトリに対して結果を解決することによって、新しい File インスタンスが作成されます。それ以外の場合、各パス名文字列は抽象パス名に変換され、子の抽象パス名は親に対して解決されます。

パラメータ: parent- 親のパス名文字列 child- 子のパス名文字列

スロー: NullPointerException- 子がnull

2 つのファイルを追加する目的ではありません。2 つのファイルを追加するためのロジックを自分で作成する必要があります。

于 2012-11-06T04:19:24.527 に答える
1

2 つの XML ファイルを 1 つの XML ファイルにマージしようとしているようです。Apache Commons Configurationsマージされたファイルをビジネス上意味のあるものにしたい場合は、検討する必要があります。

CombinedConfiguration 

http://commons.apache.org/configuration/userguide/howto_combinedconfiguration.html

于 2012-11-06T04:27:12.710 に答える
0
File employ = new File("E:\\employee.xml");
File employ2 = new File("E:\\one\\two\\student.xml");

??

于 2012-11-06T04:20:05.247 に答える
0

「2 つのファイルを追加する」とは、2 つのファイルを連結することを意味する場合は、これを試してください。

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);  
        }  
    }  
}    

それが役に立てば幸い!

于 2012-11-06T04:23:25.210 に答える