Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对.properties文件所做的更改不会反映在java中_Java_Eclipse_Tcpclient_Properties File - Fatal编程技术网

对.properties文件所做的更改不会反映在java中

对.properties文件所做的更改不会反映在java中,java,eclipse,tcpclient,properties-file,Java,Eclipse,Tcpclient,Properties File,我已经编写了一个TCP客户端程序,它调用属性文件并从中获取值。当我第一次运行TCPClient时,它会正常运行,并将server.properties文件的所有数据值发送到服务器,但一旦我尝试向server.properties文件添加一个数据“data4”,我的项目就会得到一个“x”标记,并且在server.properties文件中所做的更改没有反映出来,我得到一个错误:找不到或加载类TCPClient。 我试图创建一个新项目,但仍然一样,对属性文件所做的更改不会反映。有人能帮我一下吗。提前

我已经编写了一个TCP客户端程序,它调用属性文件并从中获取值。当我第一次运行TCPClient时,它会正常运行,并将server.properties文件的所有数据值发送到服务器,但一旦我尝试向server.properties文件添加一个数据“data4”,我的项目就会得到一个“x”标记,并且在server.properties文件中所做的更改没有反映出来,我得到一个错误:找不到或加载类TCPClient。 我试图创建一个新项目,但仍然一样,对属性文件所做的更改不会反映。有人能帮我一下吗。提前谢谢

public class TCPClient {

    private static Socket socket;

    public String getPropertyValues() throws IOException{

        String result="";
        Properties prop = new Properties();
        String propFileName = "server.properties";

        InputStream  inputStream = getClass().getClassLoader().getResourceAsStream(propFileName);

        prop.load(inputStream);

        try
        {
            String host = prop.getProperty("host");
            System.out.println(host);
            int port = Integer.parseInt(prop.getProperty("port"));
            System.out.println(port);
            String data = prop.getProperty("data");
            System.out.println(data);

            InetAddress address = InetAddress.getByName(host);
            socket = new Socket(address, port);

            //Send the message to the server
            OutputStream os = socket.getOutputStream();
            OutputStreamWriter osw = new OutputStreamWriter(os);
            BufferedWriter bw = new BufferedWriter(osw);  

            String sendMessage = data;
            bw.write(sendMessage);
            bw.flush();
            System.out.println("Message sent to the server : "+sendMessage);

            //Get the return message from the server
            InputStream is = socket.getInputStream();
            InputStreamReader isr = new InputStreamReader(is);
            BufferedReader br = new BufferedReader(isr);
            String message = br.readLine();
            System.out.println("Message received from the server : " +message);
        }
        catch (Exception exception)
        {
            exception.printStackTrace();
        }
        finally
        {
            //Closing the socket
            try
            {
                socket.close();
            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
        }
        return result;
    }

    public static void main(String[] args) throws IOException{
        TCPClient properties = new TCPClient();
        properties.getPropertyValues();

    }
}
我有一个名为server.properties的属性文件

data = data1
       data2
       data3

port = 3035
host = localhost
每当我更改此属性文件的数据字段并保存时,项目都会以“x”标记旋转,当我尝试使用run as-->JavaApplication运行TCPClient程序时,我会以

所需项目中存在错误

试验


是否继续启动?

在类路径中找不到类文件时会发生此错误,如果您已经在类路径中添加了相同的类文件,请尝试在eclipse中清理项目一次。您好,Neeraj,谢谢您的评论。如何在eclipse的类路径中添加类文件。这会有很大的帮助。我还有一个问题,如果这个错误被解决了,对属性文件所做的更改是否会反映出??您正在使用eclipse?是的,Neeraj。。我正在使用eclipse JUNOTH当在类路径中找不到类文件时会发生此错误,如果您已经在类路径中添加了相同的类文件,那么请尝试在eclipse中清理您的项目一次。您好Neeraj,谢谢您的评论。如何在eclipse的类路径中添加类文件。这会有很大的帮助。我还有一个问题,如果这个错误被解决了,对属性文件所做的更改是否会反映出??您正在使用eclipse?是的,Neeraj。。我正在使用eclipse JUNOTH当在类路径中找不到类文件时会发生此错误,如果您已经在类路径中添加了相同的类文件,那么请尝试在eclipse中清理您的项目一次。您好Neeraj,谢谢您的评论。如何在eclipse的类路径中添加类文件。这会有很大的帮助。我还有一个问题,如果这个错误被解决了,对属性文件所做的更改是否会反映出??您正在使用eclipse?是的,Neeraj。。我正在使用EclipseJuno