Your algorithm sounds fine. Can you explain more on why it doesn't work? Did you receive any error message? The file should already been closed in the "Read characters from file.vi". You don't need to put another close file vi.
Some things you might want to check:
1. Make sure your program has a good dataflow. You can wire the output "new file path" in the "Read characters from file.vi" to the input "file path" of the write characters to file vi. That way you make sure you write the file after it's been read. Or you can use a sequence structure to make sure of that.
2. If those are the two VIs you use, then you should receive a dialog asking whether you wish to replace the original file or not. You can use lower level VIs to disable the dialog.
Hope this
helps,
Dan