🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

Q&A

解決済

2回答

738閲覧

コンパイル結果、表示されず。

Miken_work

総合スコア34

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

0グッド

0クリップ

投稿2019/10/31 04:59

ファイルの読み込み結果

Javaの学習をさせて頂いていて、ファイルの読み込みを行えるScannerクラスをやってるのですが、コンパイル時にエラーは出ては来ず。
ソースコード内にて指定のテキストファイルは同じフォルダにて保存してあります。

しかしコンパイル結果には何も表示されず処理が終了してしまいます。

何が原因かわからず対処できずにいます。
どうすればうまく実行できるのでしょうか?

該当のソースコード

java

1port java.io.FileNotFoundException; 2import java.io.File; 3 4class testScanner5{ 5 6 public static void main(String args[]){ 7 8 try{ 9 File file = new File("targetfile.txt"); 10 Scanner scan = new Scanner(file); 11 scan.useDelimiter("\r\n"); 12 13 int line = 1; 14 15 while(scan.hasNext()){ 16 String str = scan.next(); 17 System.out.println(line + ":" + str); 18 line++; 19 } 20 }catch(FileNotFoundException e){ 21 System.out.println(e); 22 } 23 } 24}

###ソースコード内指定のテキスト内容

targetfile

1あいうえお 2かきくけこ 3さしすせそ

###実行結果

java

1C:\Users\javaファイルが保存されているディレクトリ> javac testScanner5.java 2C:\Users\javaファイルが保存されているディレクトリ> java testScanner5 3C:\Users\javaファイルが保存されているディレクトリ>

補足情報(FW/ツールのバージョンなど)

Windows10 64bit
sublimetext3

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/10/31 05:00

デバッグ実行できる環境を整えた方が良いです。
Miken_work

2019/10/31 05:14 編集

m.ts10806 様、BeatStar 様 ありがとうございます。 頂いたURLから試してみます。 テキストファイルの文字コードですが「UTF-8」で保存してあります。 --追記-- BeatStar様が記載して頂いたURLはエラーでページ表示することができませんでした。 自身でも少々調べてデバッグしてみます。
m.ts10806

2019/10/31 05:25

()が半角なので同一グループと見なされてますね。最後の ) を削除してください。 BeatStarさん 提示する際は前後にスペース入れるのが確実です。
Miken_work

2019/10/31 05:35

m.ts10806 様 ありがとうございます。 サイトへのアクセスできました。 コチラもクリックアクセスでしたので気づけませんでした。
dodox86

2019/10/31 05:48

「そんなことあるかなぁ?」と自分の興味優先で早まった回答をしてしまいました。m.ts10806さん、BeatStarさんのコメントでの誘導のように、質問者さんみずから解決できる質問でしたね。反省しました。(そもそも回答より早いコメントでしたし)
guest

回答2

0

ベストアンサー

ファイル「targetfile.txt」はUTF-8とのことですが~~、BOM付きですとそのような出力になります。BOMを除去してください。~~UTF-8だと例えファイルがCRLF形式の改行でも、BOM付きBOM無しに関わらず、そのような出力になりました。(Java SE8 / Windowsコマンドプロンプト)

投稿2019/10/31 05:19

編集2019/10/31 05:31
dodox86

総合スコア9256

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2019/10/31 05:21

BOMを除去したとしても、端末がUTF-8に対応していなければ正しく表示されません。その場合は例えばWindowsのコマンドプロンプトであればシフトJISなど、適切なエンコーディングにしてください。
Miken_work

2019/10/31 05:44

初歩的な質問ですみません。 今回以外のjavaファイルもUTF-8で保存しており、コンパイルも問題なくできていたのですが、その場合UTF-8への対応はできている、という認識で大丈夫なのでしょうか?
dodox86

2019/10/31 05:46

Scannerクラスに食わせるファイルのエンコードと、ソースファイル(*.java)のエンコードとは別のお話になります。
Miken_work

2019/10/31 05:56

dodox86 様 ご指摘ありがとうございます。 コンパイル時にエンコードを試みたところ理想の表示結果となり 解決に至ることができました。 初歩的な質問にも関わらず早々のご回答ありがとうございました。
dodox86

2019/10/31 06:00

あれれ、私の当初の回答で混乱を招いたように思うのに、BAをいただいて恐縮です。
guest

0

「targetfile.txt」の改行コードが「\n」だとこのような挙動になる気がします。
また、文字コードも以下のように指定した方が良いかと思います。(Windows環境でUTF-8のファイルの場合も同様の事象が発生しそうです。)

java

1Scanner scan = new Scanner(file,"utf-8");

投稿2019/10/31 05:14

yamap55

総合スコア1376

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2019/10/31 05:17

> 改行コードが「\n」だとこのような挙動になる気がします。 \nですと、以下のような結果になりました。デリミタが該当しないので、1行になります。 >java testScanner5 1:あいうえお かきくけこ さしすせそ
dodox86

2019/10/31 05:34

yamap_55さんの回答でのご提案のように、ファイルのエンコーディングに関しては明示的にセットするのが良いかもしれませんね。
Miken_work

2019/10/31 05:47

yamap_55 様、dodox86 様 ありがとうございます。 ご指摘いただいた箇所を修正し再度コンパイルを試みましたが 結果は変わらずで何も表示されずでした。
dodox86

2019/10/31 05:54

Windows10上で実行するとき、コマンドプロンプトを使っているのでしょうか。それともPowerShell、でしょうか。
yamap55

2019/10/31 06:19

dodox86 さん試して頂きありがとうございます。考えてみれば確かにそうですね(1行になる)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問