1

少し問題があるので、プロパティファイルを作成しました:

../resource/config.properties にある config.properties

これは現在のファイルです:

destinationPDF=D:/Documents/NetBeansProjects/printing~subversion/fileupload/web/resources/pdf/
destination="D:/Documents/NetBeansProjects/printing~subversion/fileupload/Uploaded/
fileList =D:/Documents/NetBeansProjects/printing~subversion/fileupload/web/resources/Directory Files/directoryFiles.txt

プロパティファイルは大丈夫ですか?

また、このファイルにアクセスして変数をクラスにロードしたい

私が試してみました

public void loadProp() {
    try {
        prop.load(new FileInputStream("../resources/config.properties"));
        System.out.println(prop.getProperty("destinationPDF"));
        System.out.println(prop.getProperty("destination"));
        System.out.println(prop.getProperty("fileList"));

    } catch (IOException ex) {
        ex.printStackTrace();
    }
}

しかし、たとえば変数の宛先が見つからないため、クラスはコンパイルされません。ファイルから変数をロードするにはどうすればよいですか?また、クラスで変数を宣言する必要がありますか?

初めてプロパティを使用するので、ばかげた質問で申し訳ありません。

通常のように変数を入れると、このエラーは発生しません

private String destinationPDF = "D:/Documents/NetBeansProjects/printing~subversion/fileupload/web/resources/pdf/"; //USE ON TORNADO//"D:/My Documents/NetBeansProjects/printing~subversion/fileupload/web/resources/pdf/";//USE ON PREDATOR    

編集:

今持っている

private Properties configProp = new Properties();

public void loadProps() {
    InputStream in = this.getClass().getClassLoader().getResourceAsStream("../resources/config.properties");
    try {
        configProp.load(in);
    } catch (IOException e) {
        e.printStackTrace();
    }
}

編集2:

public void loadProp() {
    InputStream in = this.getClass().getClassLoader().getResourceAsStream("../resources/config.properties");
    try {
        prop.load(in);
        System.out.println(prop.getProperty("destinationPDF"));
        System.out.println(prop.getProperty("destination"));
        System.out.println(prop.getProperty("fileList"));
    } catch (IOException e) {
        e.printStackTrace();
    }
}
Properties prop = new Properties();
private String destinationPDF = prop.getProperty("destinationPDF");
public String destination = prop.getProperty("destination");

動作していますが、エラーなどはありませんが、宛先と宛先PDFはnull値を渡しています

4

3 に答える 3

3

プロパティファイルが何であるかを誤解しているようです。それらは単なるデータです。これらにはJavaコードが含まれておらず、変数の宣言には使用されません。プロパティファイルのキーdestinationPDFに関連付けられた値を取得するには、を呼び出す必要があります

String destinationPDF = prop.getProperty("destinationPDF");

変数を初期化し、propを使用してファイルをロードした後prop.load(new FileInputStream(...))。そして、キーの値で初期化された変数があります。

補足:Javaの命名規則を尊重してください。変数は小文字で始まります。

于 2013-02-16T16:26:31.980 に答える
1

問題はここにあります:

        // destination = "D:/Documents/NetBeansProjects/printing~subversion/fileupload/Uploaded/";  // main location for uploads (CHANGE THIS WHEN USING PREDATOR)
        File theFile = new File(destination + "/" + username);
        theFile.mkdirs();// will create a sub folder for each user (currently does not work, below hopefully is a solution) (DOES NOW WORK)
        System.out.println("Completed Creation of folder");
        NewDestination = destination + username + "/";

宛先変数をコメントし、ここで使用しています:

NewDestination = destination + username + "/";
于 2013-02-16T16:25:28.010 に答える
0

問題は何でしょうか...コードをテストしたところ、正常に動作しました...コンパイルエラーまたはランタイムエラーが発生していますか?

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;


public class Test1 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        new Test1().loadProp();
    }

    Properties prop = new Properties();

    public void loadProp() {
        try {
            prop.load(new FileInputStream("c:/Test/Computer.txt"));
            System.out.println(prop.getProperty("destinationPDF"));
            System.out.println(prop.getProperty("destination"));
            System.out.println(prop.getProperty("fileList"));

        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

}

出力:

D:/Documents/NetBeansProjects/printing~subversion/fileupload/web/resources/pdf/ D:/Documents/NetBeansProjects/printing~subversion/fileupload/Uploaded/ D:/Documents/NetBeansProjects/printing~subversion/fileupload/web/resources /ディレクトリ ファイル/directoryFiles.txt

于 2013-02-16T16:18:55.853 に答える