「Java8」printStackTraceでスタック・トレース情報を出力するサンプル
環境
JavaSE1.8
Eclipse 2019-12
書式
1.printStackTrace()
このスロー可能オブジェクトおよびそのバックトレースを標準エラー・ストリームに出力します。 このメソッドは、このThrowableオブジェクトのスタック・トレースを、System.errフィールドの値であるエラー出力ストリームで出力します。 printStackTraceメソッドは、「スタックトレース」を出力します。print + StackTraceです。
Throwableクラスの子クラスは、Throwableクラスを「継承」しているのでprintStackTraceメソッドを使用できます。
2.public static List<String> readAllLines(Path path) throws IOException
ファイルからすべての行を読み取ります。ファイルから取得したバイトは、UTF-8文字セットを使用して文字にデコードされます。
構文
catch (IOException e) { 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ファイルの内容が表示されます
csvの内容: [1234,東京 太郎,ヤマダロウ,品川区,3-5-210, 4567,大阪 太郎,ヤマダロウ,新宿区,3-2-302]
2.指定ファイルが存在しない場合、例外を発生します
ファイルが存在しない
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)