Search code examples
javastringconcatenationstring-concatenation

Concatenating Strings in Java generates between-in null


This question looks like very similar to: Concatenating null strings in Java

But my issue is some different.

I want to build an absolute path to a file:

String path = properties.get("path"); // returns /home/myuser/relativepath/ , ends with bar /
String file = currentFile; // currentFile values "file.txt"
String result = path + file; // this results in /home/myuser/relativepath/nullfile.txt

Why is there than 'null' text? That's the reason my application does not work now.

I have review it in Windows and Linux. In Windows it works perfectly. In Linux, I have this issue.

I uploaded properties file and then, edited with vi command. Maybe is this the problem? Shouldn't I use this way to generate an absolute path, and use File.Separator property in Java?

EDIT: I have post my final right answer with detailed steps. I hope it would be useful.


Solution

  • Well, the complete and detailed steps to fix my issue are these (maybe any of them could not be necessary, but I prefer to write them all):

    1. Create config file in Linux with vi, emacs, ... (not upload file from Windows).
    2. Edit file with vi, emacs... At the end of each path, do not include directory separator character ( / ).
    3. Check variables before contatenate them. Make sure they don't have any space and other unexpected character.
    4. Concatenate variables with:

      String result = path + File.separator + file;

    I hope this would be useful. Thank you all for your suggestions. Regards