テキスト ファイルからのインポート Java の質問
-
13-09-2019 - |
質問
私は Java で通貨コンバータを作成し、テキスト ファイルから換算値を取得できるようにすることにしました (これらの値は常に変化するため、簡単に編集できるようにするため)。Scanner クラスを使用し、すべての値を ArrayList に入れることで、なんとかそれを行うことができました。
ここで、ユーザーが読めるようにテキスト ファイルにコメントを追加する方法があるかどうか疑問に思っていますが、Scanner はそれを無視します。「//」は機能しないようです。
ありがとう
解決
最良の方法は、次を使用してファイルを行ごとに読み取ることです。 java.io.BufferedReader
そして、次を使用してコメントの各行をスキャンします String#startsWith()
どこを検索しますか "//"
.
しかし、プロパティ ファイルの使用を検討し、それを使用して管理したことがありますか? java.util.Properties
API?この方法では、既製の仕様と API の恩恵を受けることができ、コメント行の先頭として # を使用できます。も参照してください。 sun.com のチュートリアル.
他のヒント
スキャナは文句を言わないあなたがそれを読んだ後、あなたのデータからコメントを削除する必要があります、何を無視します。
いや、しばらく((currentLine =はBufferedReader.readLine())!= nullの)あなたに必要なテストを実行、その後、おそらく最も簡単です。 currentLine.split(正規表現)は、区切り文字を使用して、値の配列に行を変換するためにも非常に便利である。
のJava NIOを使用すると、このような何かを行うことができます。あなたは「//」で始まる行を無視して、ArrayListので終わるしたいと仮定します。
List<String> dataList;
Path path = FileSystems.getDefault().getPath(".", "data.txt");
dataList = Files.lines(path)
.filter(line -> !(line.startsWith("//")))
.collect(Collectors.toCollection(ArrayList::new));