「Java8」printStackTraceでスタック・トレース情報を出力するサンプル

環境
JavaSE1.8
Eclipse 2019-12

書式
1.printStackTrace()

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
このスロー可能オブジェクトおよびそのバックトレースを標準エラー・ストリームに出力します。
このメソッドは、このThrowableオブジェクトのスタック・トレースを、System.errフィールドの値であるエラー出力ストリームで出力します。
printStackTraceメソッドは、「スタックトレース」を出力します。print + StackTraceです。
このスロー可能オブジェクトおよびそのバックトレースを標準エラー・ストリームに出力します。 このメソッドは、このThrowableオブジェクトのスタック・トレースを、System.errフィールドの値であるエラー出力ストリームで出力します。 printStackTraceメソッドは、「スタックトレース」を出力します。print + StackTraceです。
このスロー可能オブジェクトおよびそのバックトレースを標準エラー・ストリームに出力します。
このメソッドは、このThrowableオブジェクトのスタック・トレースを、System.errフィールドの値であるエラー出力ストリームで出力します。
printStackTraceメソッドは、「スタックトレース」を出力します。print + StackTraceです。

Throwableクラスの子クラスは、Throwableクラスを「継承」しているのでprintStackTraceメソッドを使用できます。
2.public static List<String> readAllLines(Path path) throws IOException

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
ファイルからすべての行を読み取ります。ファイルから取得したバイトは、UTF-8文字セットを使用して文字にデコードされます。
ファイルからすべての行を読み取ります。ファイルから取得したバイトは、UTF-8文字セットを使用して文字にデコードされます。
ファイルからすべての行を読み取ります。ファイルから取得したバイトは、UTF-8文字セットを使用して文字にデコードされます。

構文
catch (IOException e) { e.printStackTrace();}

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
package com.arkgame.study;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
public class PtintStackTraceDemo {
// ファイルパス
private static final String FILE_PATH = "C:\\study\\arkgame";
// ファイル名
private static final String FILE_NAME = "test.csv";
// 文字エンコーディング
private static final String FILE_CHARSET = "UTF-8";
public static void main(String[] args) {
Path filePath = Paths.get(FILE_PATH, FILE_NAME);
Charset cs = Charset.forName(FILE_CHARSET);
try {
//ファイルからすべての行を読み取る
List<String> resLst = Files.readAllLines(filePath, cs);
System.out.println(resLst);
} catch (IOException e) {
System.out.println("ファイルが存在しない");
// スタックトレースを出力
e.printStackTrace();
}
}
}
package com.arkgame.study; import java.io.IOException; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.List; public class PtintStackTraceDemo { // ファイルパス private static final String FILE_PATH = "C:\\study\\arkgame"; // ファイル名 private static final String FILE_NAME = "test.csv"; // 文字エンコーディング private static final String FILE_CHARSET = "UTF-8"; public static void main(String[] args) { Path filePath = Paths.get(FILE_PATH, FILE_NAME); Charset cs = Charset.forName(FILE_CHARSET); try { //ファイルからすべての行を読み取る List<String> resLst = Files.readAllLines(filePath, cs); System.out.println(resLst); } catch (IOException e) { System.out.println("ファイルが存在しない"); // スタックトレースを出力 e.printStackTrace(); } } }
package com.arkgame.study;

import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;

public class PtintStackTraceDemo {
      // ファイルパス
      private static final String FILE_PATH = "C:\\study\\arkgame";
      // ファイル名
      private static final String FILE_NAME = "test.csv";
      // 文字エンコーディング
      private static final String FILE_CHARSET = "UTF-8";

      public static void main(String[] args) {
            Path filePath = Paths.get(FILE_PATH, FILE_NAME);
            Charset cs = Charset.forName(FILE_CHARSET);

            try {
                  //ファイルからすべての行を読み取る
                  List<String> resLst = Files.readAllLines(filePath, cs);
                  System.out.println(resLst);

            } catch (IOException e) {
                  System.out.println("ファイルが存在しない");
                  // スタックトレースを出力
                  e.printStackTrace();
            }

      }

}

実行結果
1.指定ファイルが存在する場合、csvファイルの内容が表示されます

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
csvの内容:
[1234,東京 太郎,ヤマダロウ,品川区,3-5-210, 4567,大阪 太郎,ヤマダロウ,新宿区,3-2-302]
csvの内容: [1234,東京 太郎,ヤマダロウ,品川区,3-5-210, 4567,大阪 太郎,ヤマダロウ,新宿区,3-2-302]
csvの内容:
[1234,東京 太郎,ヤマダロウ,品川区,3-5-210, 4567,大阪 太郎,ヤマダロウ,新宿区,3-2-302]

2.指定ファイルが存在しない場合、例外を発生します

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
ファイルが存在しない
java.nio.file.NoSuchFileException: C:\study\arkgame\test02.csv
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:79)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:230)
ファイルが存在しない java.nio.file.NoSuchFileException: C:\study\arkgame\test02.csv at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:79) at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102) at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:230)
ファイルが存在しない
java.nio.file.NoSuchFileException: C:\study\arkgame\test02.csv
      at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:79)
      at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
      at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
      at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:230)

 

Java

Posted by arkgame