🎄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

解決済

3回答

1646閲覧

自作のフォルダでコンパイルできない

TontoN1128

総合スコア5

Windows 10

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

Java

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

0グッド

0クリップ

投稿2019/12/08 16:02

編集2019/12/08 17:16

前提・実現したいこと

java初心者です。参考テキスト「スッキリわかるjava」入門第二版
コマンド「mkdir」で作成したフォルダ「one」で、コンパイルしたい。

public class Main {
public static void main(String[] args) {
System.out.println("hello, world!");
}
}
以上のソースコードを、メモ帳で作成。デスクトップにMain.javaとして保存。※デスクトップからはコンパイルに成功。文字化けした新たなメモ帳が生成された。
コマンドプロンプトにて、copy Desktop one¥Main.javaを実行。
フォルダone内でdirをして、Main,javaを確認。javac Main.javaを実行。すると。
エラーメッセージ
一つ目。この文字は、エンコーディングwindows-31jにマップできません…
二つ目。この文字はエンコーディングSJISにマップできません…
三つ目。この文字は、エンコーディングUTF-8にマップできません…
四つ目。この文字は、エンコーディングEUC-JPにマップできません…

試したこと

一つ目。javac Main.java
二つ目。javac -encoding SJIS Main.java
三つ目。javac -encoding UTF-8 Main.java
四つ目。javac -encoding EUC-JP Main.java
メモ帳から、ANSI。UTF-8。UTF-LE。UTF-BE。に保存しなおして再度コンパイルしましたが、「この文字は、エンコーディングwindows-31jにマップできません…」とでました。

もしわかる方、ご回答よろしくお願いします。
ここに問題に対して試したことを記載してください。

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

ここにより詳細な情報を記載してください。

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

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

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

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

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

mike2mike4

2019/12/08 17:06

メモ帳にコピペして、ANSIで保存。コンパイルしたらエラーは出ませんでした。何かが間違ってますが、文字コードが原因ではありません。
TontoN1128

2019/12/08 17:20

ご指摘ありがとうございます。文字コードのタグ消させていただきました。
maisumakun

2019/12/08 22:29

親フォルダより上などを含めて、フォルダ名に全角文字が入っていたりはしませんか?
TontoN1128

2019/12/09 03:42

ご指摘ありがとうございます。 フォルダはコマンドプロンプトを開いて直ぐにmkdir oneをしてフォルダを作ったので、親フォルダは無いと思います。自分でできる限り調べましたが恐らく全角文字は無いと思います。
guest

回答3

0

ベストアンサー

コマンドプロンプトにて、copy Desktop one¥Main.javaを実行。

copy Desktop one\Main.java ではなく
copy Desktop\Main.java one\Main.java では?

投稿2019/12/09 00:40

LouiS0616

総合スコア35668

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

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

TontoN1128

2019/12/09 03:28

ご回答ありがとうございます。 教えていただいたコマンドを実行したところ、指定されたパスが見つかりません。0個のファイルをコピーしました。と表示されてしまいました。
LouiS0616

2019/12/09 03:33

Desktopと同じ階層にディレクトリoneは存在しますか? dir /ad でディレクトリの一覧が見られますから、確認してみて下さい。
TontoN1128

2019/12/09 03:44

返信ありがとうございます。 存在します。dirでDesktopと同じようにファイルをとして表示されます。
LouiS0616

2019/12/09 03:52

1. type Desktop\Main.java と打ち、Main.javaの内容が期待どおりであるか確認して下さい。このとき日本語部分が文字化けしている可能性がありますが、それは一旦無視して良いです。 2. 先に作った one\Main.java が悪さをしている恐れがあるので、del one\Main.java で削除して下さい。ディレクトリone内に重要なファイルが無いようであれば、del one で一括削除します。 3. 改めて copy Desktop\Main.java one\Main.java を叩きます。 4. cd one し、javac Main.java を叩きます。コンパイルがとおるようであれば、java Main で実行してみて下さい。
TontoN1128

2019/12/09 04:15 編集

コンパイルできました。ありがとうございます!フォルダoneを消して。新たにフォルダmyfolderを作成。Main.javaをコピーして、myfolder内でコンパイル成功しました!恐らくフォルダ名が「one」だったのがダメだったのかもしれません。 自分のコピーのコマンドが悪く、copy Desktop\Main.java myfolder\Main.javaがよかったのかもしれません。改めてありがとうございました。
guest

0

沢山の御指摘、ご回答ありがとうございます。
参考テキストをしっかり読んだところ、JDKのインストールが上手くいってない可能性がありました。
開いてすぐdirをした際に、テキストには25 Main.javaと表示されるはずと書いてあります。ですが自分は開いてすぐdirをしても表示されていないので、もしかするとうまくインストールできていないのかもしれないのでJDKのインストールからし直してみます。
改めてご回答、ご指摘ありがとうございました。

投稿2019/12/09 03:51

TontoN1128

総合スコア5

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

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

0

以上のソースコードを、メモ帳で作成

メモ帳で保存する際に、「UTF8 (BOM付き)」で保存されているのでしょう。

エラーメッセージは省略せずすべて記載しましょう。
以下のpublicの前の3文字がBOMコードです。

java

1C:\temp>javac Test.java 2Test.java:1: エラー: この文字は、エンコーディングMS932にマップできません 3?サソpublic class Test { 4^ 5エラー1

プログラムソースファイルを編集する際はメモ帳の使用は避けましょう。
BOM無し UTF8で保存可能なエディタを使用してソースファイルを作成してください。

※ メモ帳で「名前を付けて保存」する際にエンコードに「UTF8」「UTF8(BOM付き)」それぞれ指定可能な場合(常にWindows10を最新にしている場合はBOM付き/BOMなし選択可能になっています)は、メモ帳でもBOMを付加しない「UTF8」で保存可能です。

投稿2019/12/09 00:20

編集2019/12/09 00:21
Y.H.

総合スコア7918

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

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

TontoN1128

2019/12/09 03:35

ご回答ありがとうございます。エラーコードは長すぎてエラー100個出てしまったので、記載することをしませんでした。以降質問する時はエラーコードをできるだけ書き込むようにさせていただきます。御指摘ありがとうございます。 ただのUTF8に保存し直して既に実行しました。が、「一つ目。この文字は、エンコーディングwindows-31jにマップできません…」と表示されてしまいました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問