java
CREATE 02/26/2002 by Mie Suemitsu
UPDATE 03/20/2002 by Mie Suemitsu
UPDATE 06/29/2002 by Mie Suemitsu
Servlet
Script
FAQ
Exception in thread "main"java.lang.NoClassDefFoundError:HelloWorld というエラーが出て動きません
サイズが4096byte以上のファイルをクライアントにダウンロードできません
Servlet
$TOMCAT_HOME/webapps/zenobia/WEB-INF/classes/Hello.class を実行するには http://localhost/zenobia/servlet/Hello で動作します
ブラウザの入力フォームからの値:value(何のコードで入力されるかわからない)を unicode に変換する
String value = new String(request.getParameter("value").betBytes("8859_1"),"JISAutoDetect");
文字列の比較
if(field.equals("hello"))
{
field = "hello でした";
}
未入力の検査
if(field.equals(""))
{
field = "未入力でした";
}
directory がなければ作成する
File dir = new File("/home/mie/tmp/tmp2/tmp3");
Boolean dir_exist = dir.isDirectory();
if(dir_exist)
{
}
else
{
dir.mkdirs();
}
ファイルのパーミッションを変更する
Runtime r = Runtime.get.Runtime();
String str = "chmod 755 " + "filename";
Process p = r.exec(str);
p.wait();
時刻を表示する
import java.util.*;
import java.text.*;
class Test
{
public static void main(String[] args)
{
Date date = new Date();
DateFormat df = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.SHORT);
System.out.println(df.format(date));
}
}
日付だけでよければ
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);
時刻だけでよければ
DateFormat df = DateFormat.getTimeInstance(DateFormat.SHORT);
SHORT のところを変えると次のように表示されます。
SHORT
10/26 09:31
MEDIUM
97/10/26 09:31:33
LONG
1997/10/26 日 09:31:33:JST
FULL
1997年 10月 26日 日曜日 09時31分33秒JST
Script
文字の置換
xx1 = "This is a pen.".replace("pen", "book");
ブラウザの window を閉じるボタン
<FORM><input TYPE="submit" VALUE="閉じる" onClick="window.close()"></FORM>
ブラウザの window を開く
<SCRIPT language="JavaScript">
<!--
function WindowOpen()
{
var SidePage;
SidePage=window.open("open.html","","directories=no,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,width=450,height=300");
SidePage.focus();
}
//-->
</SCRIPT>
<A HREF="javascript:WindowOpen()">こちらを参照してください</A>
FAQ
Exception in thread "main"java.lang.NoClassDefFoundError:HelloWorld というエラーが出て動きません
$ java -classpath . HelloWorld
CLASSPATH環境変数の設定に . (ドット、ピリオド)がないのが原因です。
サイズが4096byte以上のファイルをクライアントにダウンロードできません
source code を 3行書き換えました。
DataOutputStream out = new DataOutputStream( res.getOutputStream() );
FileInputStream in = new FileInputStream( iken_form );
byte[] buf = new byte[4096];
int byread;
while( ( byread = in.read( buf ) ) != -1 )
{
//String tmp = new String ( buf, "EUC_JP" );
//buf = tmp.getBytes ( "SJIS" );
//out.write( buf, 0, byread );
↓
String tmp = new String ( buf, 0, byread, "EUC_JP" );
byte[] outbuf = tmp.getBytes ( "SJIS" );
out.write( outbuf, 0, outbuf.length );
}
out.close();