In C the '\0' character is used to indicate the end of each string. It is also used as the end of the array itself. For instance, string array {"abc", "def", "ghi"} would be represented as "abc\0def\0ghi\0\0".
In
Java you won't need that final array terminator, but you will need something similar between each elements. You could use '\0', or perhaps '\036' or '\037' - the record and
unit separator characters. In the end it doesn't matter, as long as you choose a character that is not part of the strings themselves.
Now, if you don't have control over how this string is built then you're screwed. From just "abcdefghi" you can never know what the original was. It could have been {"abc", "def", "ghi"}, or {"ab", "cd", "ef", "gh", "i"}, or any other combination.
For RMI you won't need this though; RMI can send arrays without any problem, provided that each element is serializable.