diff --git a/importPicture/.classpath b/importPicture/.classpath index f811421..55c672d 100644 --- a/importPicture/.classpath +++ b/importPicture/.classpath @@ -6,6 +6,6 @@ - + diff --git a/importPicture/AdjustTime.ini b/importPicture/AdjustTime.ini index f3fed27..f4e1829 100644 --- a/importPicture/AdjustTime.ini +++ b/importPicture/AdjustTime.ini @@ -1,5 +1,5 @@ #by AdjustTime -#Sat Jun 03 22:01:29 JST 2017 +#Sun Jun 04 14:08:04 JST 2017 GPX.BASETIME=FILE_UPDATE IMG.OUTPUT_EXIF=true GPX.OUTPUT_WPT=false diff --git a/importPicture/AdjustTime.ini.org b/importPicture/AdjustTime.ini.org index 16100cd..0f44ab2 100644 --- a/importPicture/AdjustTime.ini.org +++ b/importPicture/AdjustTime.ini.org @@ -1,5 +1,5 @@ #by AdjustTime -#Sat Jun 03 22:00:34 JST 2017 +#Sun Jun 04 14:07:56 JST 2017 GPX.BASETIME=EXIF_TIME IMG.OUTPUT_EXIF=true GPX.OUTPUT_WPT=false diff --git a/importPicture/build.xml b/importPicture/build.xml index 2f35759..860f088 100644 --- a/importPicture/build.xml +++ b/importPicture/build.xml @@ -63,6 +63,7 @@ + diff --git a/importPicture/commons-compress-1.14.jar b/importPicture/commons-compress-1.14.jar new file mode 100644 index 0000000..7490eb8 --- /dev/null +++ b/importPicture/commons-compress-1.14.jar Binary files differ diff --git a/importPicture/src/osm/jp/gpx/ImportPicture.java b/importPicture/src/osm/jp/gpx/ImportPicture.java index c3b4f35..3dc7ef2 100644 --- a/importPicture/src/osm/jp/gpx/ImportPicture.java +++ b/importPicture/src/osm/jp/gpx/ImportPicture.java @@ -487,7 +487,6 @@ os = new FileOutputStream(outputFile); result = new StreamResult(os); transformer.transform(source, result); - } diff --git a/importPicture/src/osm/jp/gpx/utils/TarGz.java b/importPicture/src/osm/jp/gpx/utils/TarGz.java new file mode 100644 index 0000000..069c02f --- /dev/null +++ b/importPicture/src/osm/jp/gpx/utils/TarGz.java @@ -0,0 +1,71 @@ +package osm.jp.gpx.utils; + + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; + +import org.apache.commons.compress.archivers.tar.TarArchiveEntry; +import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; +import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream; + +/** + * 「*.tar.gz」を解凍する。 + * ファイル更新日時をオリジナルと同じにします。 + * Apache Commons Compressライブラリ + * commons-compress-1.14.jar + */ +public abstract class TarGz +{ + public static void main(String[] args) throws IOException { + File baseDir = new File("testdata/cameradata"); + File tazFile = new File("testdata", "Sony20170518.tar.gz"); + TarGz.uncompress(tazFile, baseDir); + } + + /** + * *.tar.gz解凍 + * ファイル更新日時をオリジナルと同じにします。 + * @param tazFile 解凍する*.tar.gzファイル + * @param dest 解凍先フォルダ + * @throws IOException + */ + public static void uncompress(File tazFile, File dest) throws IOException { + dest.mkdir(); + + TarArchiveInputStream tarIn = null; + tarIn = new TarArchiveInputStream(new GzipCompressorInputStream(new BufferedInputStream(new FileInputStream(tazFile)))); + + TarArchiveEntry tarEntry = tarIn.getNextTarEntry(); + while (tarEntry != null) { + File destPath = new File(dest, tarEntry.getName()); + System.out.println("uncompress: " + destPath.getCanonicalPath()); + if (tarEntry.isDirectory()) { + destPath.mkdirs(); + } + else { + File dir = new File(destPath.getParent()); + if (!dir.exists()) { + dir.mkdirs(); + } + destPath.createNewFile(); + byte[] btoRead = new byte[1024]; + BufferedOutputStream bout = new BufferedOutputStream(new FileOutputStream(destPath)); + int len = 0; + + while ((len = tarIn.read(btoRead)) != -1) { + bout.write(btoRead, 0, len); + } + + bout.close(); + destPath.setLastModified(tarEntry.getLastModifiedDate().getTime()); + btoRead = null; + } + tarEntry = tarIn.getNextTarEntry(); + } + tarIn.close(); + } +} diff --git a/importPicture/test/osm/jp/gpx/ImportPictureTest.java b/importPicture/test/osm/jp/gpx/ImportPictureTest.java index 83bf1f3..b9543f3 100644 --- a/importPicture/test/osm/jp/gpx/ImportPictureTest.java +++ b/importPicture/test/osm/jp/gpx/ImportPictureTest.java @@ -322,16 +322,27 @@ // 実行する testdo(); - File gpxfile = new File("./testdata/output/cameradata/separate", "separate_.gpx"); - assertThat(gpxfile.exists(), is(true)); - File file0 = new File("./testdata/output/cameradata/separate", "20170529_102305A.jpg"); - assertThat(file0.exists(), is(false)); - File file1 = new File("./testdata/output/cameradata/separate", "20170529_103146A.jpg"); - assertThat(file1.exists(), is(true)); - File file3 = new File("./testdata/output/cameradata/separate", "20170529_103515A.jpg"); + boolean exists; + File gpxfile = new File("./testdata/output/separate", "separate_.gpx"); + exists = gpxfile.exists(); + assertThat(exists, is(true)); + + File file0 = new File("./testdata/output/separate", "20170529_102305A.jpg"); + exists = file0.exists(); + assertThat(exists, is(false)); + + File file1 = new File("./testdata/output/separate", "20170529_103146A.jpg"); + exists = file1.exists(); + assertThat(exists, is(true)); + + File file3 = new File("./testdata/output/separate", "20170529_103515A.jpg"); assertThat(file3.exists(), is(true)); - File file4 = new File("./testdata/output/cameradata/separate", "20170529_104119A.jpg"); - assertThat(file4.exists(), is(true)); + exists = file3.exists(); + assertThat(exists, is(true)); + + File file4 = new File("./testdata/output/separate", "20170529_104119A.jpg"); + exists = file4.exists(); + assertThat(exists, is(true)); } @Test @@ -344,15 +355,15 @@ // 実行する testdo(); - File gpxfile = new File("./testdata/output/cameradata/separate", "separate_.gpx"); + File gpxfile = new File("./testdata/output/separate", "separate_.gpx"); assertThat(gpxfile.exists(), is(true)); - File file0 = new File("./testdata/output/cameradata/separate", "20170529_102305A.jpg"); + File file0 = new File("./testdata/output/separate", "20170529_102305A.jpg"); assertThat(file0.exists(), is(false)); - File file1 = new File("./testdata/output/cameradata/separate", "20170529_103146A.jpg"); + File file1 = new File("./testdata/output/separate", "20170529_103146A.jpg"); assertThat(file1.exists(), is(true)); - File file3 = new File("./testdata/output/cameradata/separate", "20170529_103515A.jpg"); + File file3 = new File("./testdata/output/separate", "20170529_103515A.jpg"); assertThat(file3.exists(), is(true)); - File file4 = new File("./testdata/output/cameradata/separate", "20170529_104119A.jpg"); + File file4 = new File("./testdata/output/separate", "20170529_104119A.jpg"); assertThat(file4.exists(), is(true)); } diff --git a/importPicture/test/osm/jp/gpx/utils/TarGz.java b/importPicture/test/osm/jp/gpx/utils/TarGz.java deleted file mode 100644 index 069c02f..0000000 --- a/importPicture/test/osm/jp/gpx/utils/TarGz.java +++ /dev/null @@ -1,71 +0,0 @@ -package osm.jp.gpx.utils; - - -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; - -import org.apache.commons.compress.archivers.tar.TarArchiveEntry; -import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; -import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream; - -/** - * 「*.tar.gz」を解凍する。 - * ファイル更新日時をオリジナルと同じにします。 - * Apache Commons Compressライブラリ - * commons-compress-1.14.jar - */ -public abstract class TarGz -{ - public static void main(String[] args) throws IOException { - File baseDir = new File("testdata/cameradata"); - File tazFile = new File("testdata", "Sony20170518.tar.gz"); - TarGz.uncompress(tazFile, baseDir); - } - - /** - * *.tar.gz解凍 - * ファイル更新日時をオリジナルと同じにします。 - * @param tazFile 解凍する*.tar.gzファイル - * @param dest 解凍先フォルダ - * @throws IOException - */ - public static void uncompress(File tazFile, File dest) throws IOException { - dest.mkdir(); - - TarArchiveInputStream tarIn = null; - tarIn = new TarArchiveInputStream(new GzipCompressorInputStream(new BufferedInputStream(new FileInputStream(tazFile)))); - - TarArchiveEntry tarEntry = tarIn.getNextTarEntry(); - while (tarEntry != null) { - File destPath = new File(dest, tarEntry.getName()); - System.out.println("uncompress: " + destPath.getCanonicalPath()); - if (tarEntry.isDirectory()) { - destPath.mkdirs(); - } - else { - File dir = new File(destPath.getParent()); - if (!dir.exists()) { - dir.mkdirs(); - } - destPath.createNewFile(); - byte[] btoRead = new byte[1024]; - BufferedOutputStream bout = new BufferedOutputStream(new FileOutputStream(destPath)); - int len = 0; - - while ((len = tarIn.read(btoRead)) != -1) { - bout.write(btoRead, 0, len); - } - - bout.close(); - destPath.setLastModified(tarEntry.getLastModifiedDate().getTime()); - btoRead = null; - } - tarEntry = tarIn.getNextTarEntry(); - } - tarIn.close(); - } -}