質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 10

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

Java

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

コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

デバッグ

デバッグはプログラムのバグや欠陥を検知し、開発中のバグを取り除く為のプロセスを指します。

Q&A

0回答

1636閲覧

VScode デバッグでテキストファイルをコマンドライン引数に渡す。

SHUNMIURa

総合スコア0

Windows 10

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

Java

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

コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

デバッグ

デバッグはプログラムのバグや欠陥を検知し、開発中のバグを取り除く為のプロセスを指します。

0グッド

0クリップ

投稿2021/01/29 15:32

編集2021/01/29 15:37

前提・実現したいこと

VScodeで作成中のJavaプログラミングのデバッグを行います。
標準入力(Scanner)を必要とするプログラムで、テキストファイルをデバッグ時にコマンドライン引数から渡したいです。

発生している問題・エラーメッセージ

launch.jsonファイルを編集して、いくつかのString型とテキストファイルを渡したいのですがやり方がわかりません。

該当のソースコード

launch.jsonファイルの中身です。

{ "version": "0.2.0", "configurations": [ { "type": "java", "name": "Launch MultiFilter", "request": "launch", "mainClass": "MultiFilter", "projectName": "6th_a0e70c5f", "args": ["number","rev","sample.txt"], "console": "integratedTerminal", "stopOnEntry": false, "encoding": "UTF-8", } ] }

実際に標準入力を受け取る箇所はこちらです。

static final void processAllLines() { Scanner sc = new Scanner(System.in); while (sc.hasNextLine()) { String line = sc.nextLine(); System.out.println(line); } sc.close(); }

試したこと

launch.jsonの編集で以下のようなものを試しましたがすべてString型でargs[]に入ってしまいscannerで読み込むことができません。

"args": ["number","rev","<" "sample.txt"],
"args": ["number","rev","${workspaceFolder}/sample.txt"],
"args": ["number","rev","<","${workspaceFolder}/sample.txt"],

また、launch.jsonを

"console": "externalTerminal",

とし、ターミナルから受け取ろうとしましたが、ターミナルの入力からテキストファイルを指定することはできません。
プログラムを実際に実行させるときは、以下のように入力してテキストファイルを渡します。

java MultiFilter number rev < sample.txt

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

VScodeのバージョン

バージョン: 1.52.1
OS: Windows_NT x64 10.0.18363

Javaのバージョン

java version "12.0.1"

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問