首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JAVA .properties文件

JAVA .properties文件
EN

Stack Overflow用户
提问于 2013-02-17 00:08:21
回答 3查看 5.5K关注 0票数 1

有一个lil问题,我创建了一个属性文件:

资源位于../ config.properties /config.properties中

这是当前的文件:

代码语言:javascript
复制
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

我已经做好属性文件了吗?

我还想访问这个文件并将变量加载到一个类中

我试过了

代码语言:javascript
复制
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();
    }
}

但是现在类不能编译了,因为它找不到变量的目的地,那么我如何从文件中加载变量,我还需要清除类中的变量吗?

如果这些是愚蠢的问题,很抱歉,这是第一次使用属性!

如果我正常地将变量放入如下所示,则不会得到此错误

代码语言:javascript
复制
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    

编辑:

现在就有

代码语言:javascript
复制
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:

代码语言:javascript
复制
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");

它正在工作,没有错误等,但目的地和destinationPDF传递的是空值

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-17 00:26:32

您似乎误解了属性文件是什么。它们只是数据。它们不包含Java代码,也不用于声明变量。要获取与属性文件中的键destinationPDF相关联的值,需要调用

代码语言:javascript
复制
String destinationPDF = prop.getProperty("destinationPDF");

初始化prop变量并使用prop.load(new FileInputStream(...))加载文件之后。然后,您将使用键的值初始化一个变量。

附注:请遵守Java命名约定:变量以小写字母开头。

票数 3
EN

Stack Overflow用户

发布于 2013-02-17 00:25:28

问题出在这里:

代码语言:javascript
复制
        // 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 + "/";

您已经注释了destination变量,并在此处使用:

代码语言:javascript
复制
NewDestination = destination + username + "/";
票数 1
EN

Stack Overflow用户

发布于 2013-02-17 00:18:56

我想知道是什么问题…我测试了你的代码,它工作fine...are你得到编译错误或运行时错误?

代码语言:javascript
复制
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/Directory文件/目录文件.txt

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14912287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档