CommonsMultipartFile を newする方法
File ff = new File("aaa.csv"); String fileName = ff.getName(); MimetypesFileTypeMap map = new MimetypesFileTypeMap(); String contentType = map.getContentType( ff ); DiskFileItemFactory factory = new DiskFileItemFactory(); FileItem fi = factory.createItem( "file", contentType, false, fileName ); InputStream input = new FileInputStream( ff ); OutputStream output = fi.getOutputStream(); IOUtils.copy( input, output ); IOUtils.closeQuietly( input ); IOUtils.closeQuietly( output ); CommonsMultipartFile cf = new CommonsMultipartFile( fi );
詳しくは、以下参照
http://seakleng.blogspot.jp/2013/12/how-to-create-string.html
eclipseに関してのメモ書き
メモリ不足で落ちる、固まる場合は、起動メモリを変更してみる。
eclipse.exeがあるフォルダの中のeclipse.ini
-vmargs -Xms40m -Xmx384m
ソースコード作成効率化
・「一般」-「エディター」-「テキスト・エディター」 「タブでスペースを挿入」をON 「行番号の表示」をON 「空白文字の表示」をON
・「一般」-「エディター」-「構造化テキスト・エディター」 「折りたたみを使用する」をOFF
・「Java」-「コード・スタイル」-「フォーマッター」
・カスタムプロファイル インデント タブ・ポリシー 「スペースのみ」 行折り返し 行の最大幅 100
設定は、以下の手順でエクスポートしておきましょう。
・「ファイル」-「エクスポート」-「設定」
javaで正規表現を書くときにエスケープする文字
正規表現を書くときには、以下の文字列は、エスケープしましょう。
- エスケープが必要な文字
¥ * + . ? { } ( ) [ ] ^ $ - |
※エスケープするときは、「\」が2つ
- 数字と英字以外NG
Pattern.compile("^[0-9a-zA-Z]");
- いろいろな記号および数字と英字以外NG
Pattern.compile("^[0-9a-zA-Z\\\\\\*\\+\\.\\?\\{\\}\\(\\)\\[\\]\\^\\$\\-\\|]");
特定のディレクトリを除外して、差分の一覧を表示
特定のディレクトリを除外して、差分の一覧を表示
diff -rq --exclude=tmp installA/ installB/
svnから取得したソースを固める途中で挫折
#!/bin/bash rm -rf tmp ELEMENT_FILE_NAME=element.txt TAR_FILE_NAME=aaa.tar.gz arys=`cat $ELEMENT_FILE_NAME | grep ^u | cut -d ',' -f 2` aryt=`cat $ELEMENT_FILE_NAME | grep ^u | cut -d ',' -f 3` aryo=`cat $ELEMENT_FILE_NAME | grep ^u | cut -d ',' -f 4` arym=`cat $ELEMENT_FILE_NAME | grep ^u | cut -d ',' -f 5` i=0 for item in ${aryt[@]}; do echo mkdir -p "tmp/${item%/*}" echo svn export "${arys[$i]}" "tmp/${item%/*}" let i++ done chown -R 644 tmp chmod -R root:root tmp i=0 for item in ${arym[@]}; do echo chmod "${item}" "${aryt[$i]}" let i++ done tar cvfp $TAR_FILE_NAME tmp echo `md5sum $TAR_FILE_NAME` sed -e "s/@@version@@/1.2.1/g" ./template.txt |\ sed -e "s/@@name@@/puroduct/g" > version.txt
svn,http://192.168.40.20/svn,,,, server,/var/log/,,,, target,svnpath,installpath,owner,gowner,mod u,http://192.168.40.20/svn/module/aaa/ccc,/var/log/httpd/access_log,root,644 u,http://192.168.40.20/svn/module/aaa/ccc,/var/log/audit/audit.log,root,644 u,http://192.168.40.20/svn/module/aaa/bbb,/var/log/httpd/error_log,root,644
Excelからバッチファイルを引数つきで起動
Hyperlink関数ではだめだった
Hyperlink関数でやろうとしたが、 セルに記載された引数を使っての引数渡しでのバッチ起動ができなかったので、結局、マクロでやった。
マクロからShell関数でできる
Sub Execute() Dim cmd As String cmd = "C:\Windows\notepad.exe c:\memo.txt" Shell cmd End Sub
これでmemo.txtがメモ帳で開くことができます。
今度は、 引数をマクロに渡します。
Sub Execute(ByVal param1 As String, ByVal param2 As String, ByVal param3 As String) Dim cmd As String cmd = "C:\sample.bat " cmd = cmd & "c:memo.txt " cmd = cmd & " " & param1 cmd = cmd & " " & param2 cmd = cmd & " " & param3 Shell cmd End Sub
ダブルクリックした場所の相対位置は、Offsetで取得できる
今度は、セルに入力された情報を引数にして、マクロを実行します。 4行目より下で4列目をダブルクリックするとマクロが引数付きで実行されます。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not (Target.Row >= 4 And Target.Column = 4) Then Exit Sub Execute Target.Offset(0, -3).Value, Target.Offset(0, -2).Value, Target.Offset(0, -1).Value End Sub
1列目と2列目と3列目が引数として渡されます。
これを応用すれば、いろんなことがExcelでできる!!!