JavaDoc 読解 〜 Filesクラス 〜

イントロダクション

昔は、FileReader, FileInputStreamを使用してやっていました。
今でも使用できますが、java.nio.files.Filesを使用する方法がスタンダードになってきたかな?という感じです。

記述する内容は、昔よりも格段に減りました。

// FILEのパス
Path filePath = Paths.get(FILE_PATH);
List<String> lines = Files.readAllLines(filePath);

こんな感じで処理が実現します。本当はFileRaderなど使用していますが、インスタンスの取得が簡単になったというところです。
ちょっと省略してますが。。。

まぁ細かいところはこちらのソースをご覧ください。
ダウンロードして実行できるはずです。
※Macで作成しているためビルドパストか違っています。
ソースのみを取得して実行することをオススメします。
MacでEclipseを使用している人はプロジェクトごとPullしておっけーです。

ちなみに、ファイルの読み込みなどを行うときに
「パスの指定」で結構つまづきます。
ルートになるパスがプロジェクトのディレクトリになるのですが

頭に「/」がついたりつかなかったりと。。。
とりあえず、「パスの使い方サンプル」を実装しました。

System.out.println("*** Paths Testing ***");
Path path = Paths.get("resources", "title.txt");
// 標準出力
path.forEach(System.out::println);
System.out.println("*** read File ***");
try {
   List<String> list = Files.readAllLines(path, Charset.defaultCharset());
   list.forEach(System.out::println);
} catch(IOException e) {
   e.printStackTrace();
}
  1. Paths.get(ファイルへのあるフォルダまでのパス, ファイル名);
    呼び出しはクラス名.メソッド名の様に呼びます(staticメソッドの呼び出し)
    の様に引数に値を設定します。 ファイルは以下にあります
    「project/resource/title.txt」
  2. 取得した「Path(Pathsとは別のクラスです)」からforEachメソッドを使用して
    System.out.printlnメソッドを渡しています。
    これはラムダ式の書き方でループで取得したpathの中身を上記のメソッドに渡す
    という処理になります
  3. ListでのforEach()です。これも上記と同様です。
    ラムダ式の書き方でclazz.xxx(
    コレクション内の要素変数(名前は自由) -> メソッドなどの処理);
    の様に記載します。
    サンプル、パターン1と2は同じ動きをします。

    // Pattern1
    xxxx.forEach(str -> method(str));
    // Pattern2
    xxxx.forEach(Class::method);

     




関連ページ一覧

Eclipse セットアップ

  1. Java Install Eclipse〜開発ツールのインストール〜
  2. TensorFlow C++環境〜EclipseCDTをインストール〜
  3. Setup OpenGL with JavaJOGLを使う準備 for Eclipse
  4. Eclipse Meven 開発手順〜プロジェクトの作成〜
  5. Java OpenCV 環境セットアップ(on Mac)
  6. Eclipse SceneBuilderを追加する
  7. JavaFX SceneBuilder EclipseSceneBuilder連携~

Java Basic一覧

  1. Java Basic Level 1 〜Hello Java〜
  2. Java Basic Level2 〜Arithmetic Calculate〜
  3. Java Basic Level3 〜About String class〜
  4. Java Basic Level 4〜Boolean〜
  5. Java Basic Level 5〜If Statement〜
  6. Java Basic Summary from Level1 to 5
  7. Java Basic Level 6 〜Traning of If statement〜
  8. Java Basic Level8 〜How to use for statement〜
  9. Java Basic Level 8.5 〜Array〜
  10. Java Basic Level 9〜Training of for statement〜
  11. Java Basic Level 10 〜While statement 〜
  12. Java Basic Swing〜オブジェクト指向〜
  13. Java Basic Swing Level 2〜オブジェクト指向2〜
  14. サンプル実装〜コンソールゲーム〜
  15. Java Basic インターフェース・抽象クラスの作り方
  16. Java Basic クラスとは〜Step2_1〜
  17. Java Basic JUnit 〜テストスイートの作り方〜

Git関連

  1. Java Git clone in Eclipse 〜サンプルの取得〜
  2. Eclipse Gitリポジトリの取得 GitからソースをPullしよう〜
  3. IntelliJ IDEA GitGitリポジトリからクローン〜

JavaFX関連ページ

  1. Eclipse SceneBuilderを追加する
  2. JavaFX SceneBuilder 〜EclipseとSceneBuilder連携~
  3. JavaFX SceneBuilder〜ボタンにメソッドを割り当てるワンポイント〜
  4. Java プロコンゲーム 〜見た目の作成(SceneBuilderの使用)〜

ステップアップ関連ページ一覧

  1. Java 初めてでも大丈夫〜ステップアッププログラミングのススメ〜
  2. ステップアッププログラミング〜Java FxでHelloWorld解説〜
  3. Java StepUpPrograming〜JavaFX で四則計算〜
  4. Java StepUpPrograming〜JavaFXで画面切り替えを作る1〜
  5. Java StepUpPrograming〜JavaFXで画面切り替え2ボタン作成〜
  6. Java StepUpPrograming〜JavaFXで画面切り替え3アクション〜
  7. Java StepUpPrograming〜JavaFXで画面切り替え4Pane切り替え〜
  8. Java StepUpPrograming〜JavaFXで画面切り替え5WebEngine

JavaFX + ND4Jで機械学習準備

  1. JavaFX + ND4J〜数学への挑戦1:ND4Jのインストール〜
  2. JavaFX + ND4J〜数学への挑戦2: 行列の計算〜
  3. Java + ND4J 〜数学への挑戦3: ベクトル(配列)の作成方法〜

オブジェクト指向関連ページ

  1. [オブジェクト指向の概念1〜OracleDocのチュートリアル1〜](https://zenryokuservice.com/wp/2019/10/301. /%e3%82%aa%e3%83%96%e3%82%b8%e3%82%a7%e3%82%af%e3%83%88%e6%8c%87%e5%90%91%e3%81%ae%e6%a6%82%e5%bf%b5-%e3%80%9coracledoc%e3%81%ae%e3%83%81%e3%83%a5%e3%83%bc%e3%83%88%e3%83%aa%e3%82%a2%e3%83%ab%ef%bc%91/)
  2. オブジェクト指向の概念2〜クラスとは〜

投稿者:

takunoji

音響、イベント会場設営業界からIT業界へ転身。現在はJava屋としてサラリーマンをやっている。自称ガテン系プログラマー(笑) Javaプログラミングを布教したい、ラスパイとJavaの相性が良いことに気が付く。 Spring framework, Struts, Seaser, Hibernate, Playframework, JavaEE6, JavaEE7などの現場経験あり。 SQL, VBA, PL/SQL, コマンドプロント, Shellなどもやります。

コメントを残す