diff options
-rw-r--r-- | utils/src/main/java/org/onap/policy/common/utils/resources/TextFileUtils.java | 4 | ||||
-rw-r--r-- | utils/src/test/java/org/onap/policy/common/utils/resources/TextFileUtilsTest.java | 22 |
2 files changed, 25 insertions, 1 deletions
diff --git a/utils/src/main/java/org/onap/policy/common/utils/resources/TextFileUtils.java b/utils/src/main/java/org/onap/policy/common/utils/resources/TextFileUtils.java index 5aeacf26..01af7fd8 100644 --- a/utils/src/main/java/org/onap/policy/common/utils/resources/TextFileUtils.java +++ b/utils/src/main/java/org/onap/policy/common/utils/resources/TextFileUtils.java @@ -62,6 +62,10 @@ public abstract class TextFileUtils { */ public static void putStringAsTextFile(final String outString, final String textFilePath) throws IOException { final File textFile = new File(textFilePath); + if (!textFile.getParentFile().exists()) { + textFile.getParentFile().mkdirs(); + } + putStringAsFile(outString, textFile); } diff --git a/utils/src/test/java/org/onap/policy/common/utils/resources/TextFileUtilsTest.java b/utils/src/test/java/org/onap/policy/common/utils/resources/TextFileUtilsTest.java index 7f246ab2..0952b168 100644 --- a/utils/src/test/java/org/onap/policy/common/utils/resources/TextFileUtilsTest.java +++ b/utils/src/test/java/org/onap/policy/common/utils/resources/TextFileUtilsTest.java @@ -30,6 +30,7 @@ import org.junit.Test; /** * Test text file utilities. + * * @author Liam Fallon (liam.fallon@est.tech) */ public class TextFileUtilsTest { @@ -37,7 +38,7 @@ public class TextFileUtilsTest { private static final String FILE_CONTENT = "This is the contents of a text file"; @Test - public void test() throws IOException { + public void testPutToFile() throws IOException { final File tempTextFile = File.createTempFile("Test", "txt"); TextFileUtils.putStringAsTextFile(FILE_CONTENT, tempTextFile.getAbsolutePath()); @@ -48,6 +49,25 @@ public class TextFileUtilsTest { final FileInputStream fis = new FileInputStream(tempTextFile); final String textFileString1 = TextFileUtils.getStreamAsString(fis); assertEquals(textFileString0, textFileString1); + } + + @Test + public void testPutToFileWithNewPath() throws IOException { + String tempDirAndFileName = System.getProperty("java.io.tmpdir") + "/non/existant/path/Test.txt"; + + TextFileUtils.putStringAsTextFile(FILE_CONTENT, tempDirAndFileName); + + final String textFileString0 = TextFileUtils.getTextFileAsString(tempDirAndFileName); + assertEquals(FILE_CONTENT, textFileString0); + + final FileInputStream fis = new FileInputStream(tempDirAndFileName); + final String textFileString1 = TextFileUtils.getStreamAsString(fis); + assertEquals(textFileString0, textFileString1); + File tempDirAndFile = new File(tempDirAndFileName); + tempDirAndFile.delete(); + tempDirAndFile.getParentFile().delete(); + tempDirAndFile.getParentFile().getParentFile().delete(); + tempDirAndFile.getParentFile().getParentFile().getParentFile().delete(); } } |