プログラミングII

環境

  • ターミナルでJavaのバージョンの確認
    $ java -version
    $ javac -version
  • Javaのありか
    /System/Library/Frameworks/JavaVM.framework/Versions/
  • JDKのバージョンの変更(CurrentJDKを希望するバージョンにリンクする)
    $ cd /System/Library/Frameworks/JavaVM.framework/Versions/
    $ sudo ln -fsh 1.6.0 CurrentJDK
  • Java 5にする場合(但し,Snow Leopard以降では,Java6のみ)
    $ sudo ln -fsh 1.5.0 CurrentJDK
  • /Applications/Utilities/Java/Java Preferences.app を使う
    (/アプリケーション/ユーティリティ/Java/Java Preferences.app)

開発環境

最初のプログラム

HelloWorld.java

Expand allFold all
  1
  2
  3
  4
  5
-
-
|
!
!
public class HelloWorld {
    public static void main(String[] args) throws Exception {
        System.out.println("Hello, World!");
    }
}

コンパイル:

$ javac HelloWorld.java

実行:

$ java HelloWorld

文字化けする人

MacOSX環境でのJava環境でのエンコーディング

  • MacOSXのjavacのエラーメッセージは,SJISでエンコーディングされている.UTF8のターミナル環境では,当然文字化けます.回避法は:
  • 英語環境にする
    $ setenv LC_ALL en
  • SJISメッセージをUTF8に変換して表示する. (foo.javaは,ソースファイル名)
    • javacのオプションで,エンコーディングを変える.
      $ javac -J-Dfile.encoding=UTF8 foo.java
      aliasしておくと便利
      • tcsh系の場合(.tcshrcに記述)
        alias  javac   'javac -J-Dfile.encoding=UTF8'
        alias  java    'java -Dfile.encoding=UTF8'
      • bash系の場合(.bashrcに記述)
        alias  javac='javac -J-Dfile.encoding=UTF8'
        alias  java='java -Dfile.encoding=UTF8' 
      • bashの場合で,.bashrcが反映されない場合: ホームディレクトリに.bash_profileというファイルを作って 次を追記してください.
        if [ -f ~/.bashrc ] ; then
        . ~/.bashrc
        fi
  • nkfを使う.
    $ javac foo.java | & nkf -w
    この場合のalias設定には,javacへの引数を渡すようにしなければならない.\!*を使う.
    alias  javac  'javac  \!* | &  nkf -w'
  • 文字コードの確認 ChkEncoding.java
    Expand allFold all
      1
      2
      3
      4
      5
      6
      7
      8
    
     
    -
    -
    |
    |
    |
    !
    !
    
    import java.io.*;
    public class ChkEncoding {
        public static void main(String[] args) throws Exception {
            System.out.println("Hello, World!");
            System.out.println("Default encoding: "+ new InputStreamReader(System.in).getEncoding());
            System.out.println("file.encoding: "+ System.getProperty("file.encoding"));
        }
    }

関連



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-06-20 (木) 14:45:23 (2342d)