[C#]シリアライズしたバイナリデータを圧縮解凍する方法

.Net Freamework 2.0から、System.IO.Compressionが追加されていて、DeflateStream(rfc1951), GZipStream(rfc1952)が使用できる。 シリアライズはBinaryFormatterを使えばいい。簡単に書こうとすると、以下のよーな感じになる。 /// <summary> /// オブジェクトを圧縮</summary>…

[C#]シリアライズしたオブジェクトをバイナリ形式で出力する方法

まずはシリアライズ。方法は、[Serializable]を付けるだけ。 例として、文字列をバイト配列で保持するシリアライズクラスを適当に書いてみた。 using System; using System.Collections.Generic; using System.Text; namespace SandBox { [Serializable] pub…

[java]CsvBeanReader, CsvBeanWriter, ParseDateを併用するには

前回、Beanによる読み込みとMapによる書き込みを取り上げましたが、元サイトのサンプルソースに手を加えての紹介、という趣旨だったので、Beanによる書き込みについては割愛しました。 なので、今回はBeanによる書き込みに焦点を当ててみましょう。 配布サイ…

[java]Super CSV による File Write

では続いてファイル書き込みもやってみましょう。 ファイル名:WritingMaps.java package write; import java.io.FileWriter; import java.util.HashMap; import org.supercsv.io.CsvMapWriter; import org.supercsv.io.ICsvMapWriter; import org.supercsv.…

[java]Super CSV による File Read

Super CSVは、CSVファイルをオブジェクトのような感覚で扱うことができる、オープンソースのCSVファイル高速アクセスライブラリです。言ってみればO/RマッピングのCSVファイル版ですね。 http://supercsv.sourceforge.net/ これが非常に便利そうなのに、何故…

[java]Super CSV で区切り文字や改行文字を任意に指定する

「で、区切り文字とかどうなってんの?」 はい、ちゃんと用意されています。CsvPreferenceというクラスで指定できます。 次のように第2引数で指定します。 ICsvBeanReader inFile = new CsvBeanReader(new FileReader("./data/foo.csv"), CsvPreference.EXC…

[java]Jakarta IO の底力

単純なファイル読み込みを行う場合、FileInputStream, InputFileReader, BufferReader のコンボを使うよりも、LineIteratorを使う方が高速ですよ、という話。 Jakarta : 266ms Standard : 343ms Channel : 3375ms filesize : 1,331,881 bytes Java 1.6.0.2 /…

リモートデスクトップからリブートするには

1. Win + R 2. 名前:「cmd」⇒ OK 3.↓ リブート shutdown -r -t 0 シャットダウン shutdown -s -t 0 ほぼ毎日利用してます。

[java]SortedMapでも試してみた

Map<String, String> map = new LinkedHashMap<String, String>(); を SortedMap<String, String> map = new TreeMap<String, String>(); に変えてみても、やはり拡張forの方が高速。 拡張for: 6078(ms) while: 6235(ms) Map使う場合は拡張forの方が効率が良いみたいですね。 ちなみに Java6 update2 でコンパイル、実行を行</string,></string,></string,></string,>…

[java]拡張for と while の比較

10000要素を持つマップオブジェクトを1000回参照すると、0.1秒くらい差が出ました。 拡張for: 2156(ms) while: 2250(ms) なんだ、拡張for速いじゃん。 Intel Core2 Duo 2.4GHz、メモリ2GB、WindowsXP SP2上にVMWareServerを起動。 VMWareServer上に構築し…

[java]Mapのキーと値を簡単に参照する方法

for(:) を使えばこんなに簡単〜 import java.util.LinkedHashMap; import java.util.Map; /** * マップに関するサンプルクラス * @author kazuki-kido */ public class MapSample { /** * マップ参照サンプル * @param args */ public static void main(Stri…

[java]djUnitをJunit4以降で利用する方法

@Testとimport static を使えばこんなに簡単〜 テスト対象クラスが↓こんなかんじとして /** * テスト対象 * System.exit()を返すだけのクラス * @author kazuki-kido */ public class Sample { /** * メインメソッド * @param args */ public static void ma…

複数キーワードに対応してみた

@echo on for %%i in (".flv",".divx",".txt") do ( mkdir %%i for /r %%I in (*%%i*) do move "%%I" %%i ) pause ".flv",".divx",".txt"の部分がキーワードになります。 カンマ(,)で繋げばいくつでも定義できます。 ただ、下層フォルダ全てを対象にしてガ…

ファイルをキーワードでフォルダに振り分けるバッチ

1.テキストエディタに以下コードをコピペ %echo on set KEYWORD="キーワード" mkdir %KEYWORD% for /r %%i in (*%KEYWORD%*) do move "%%i" %KEYWORD% 2."キーワード"の部分を、整理する対象ファイル名に共通するキーワードに変更(".flv"とか) 3.適…

Greasemonkey 開発環境

TeraPadやSakuraエディタ、秀丸エディタなんかを利用されている方が多いんじゃないかと思いますが、私はeclipseを利用しています。 eclipseというのは、Javaでの開発を想定して開発されている統合開発環境です。Java使いの間ではデファクトスタンダードです…

Greasemonkey hacks

洋書しかないので仕方なく洋書で購入。 最近はユーロがやたらと高いですねぇ。素直にアメリカ$で購入しました。 内容は思ったより発展型でした。基礎的な内容を把握している人向きというか、より実践向けというか。 入門書ではないような。。まぁ、英語でき…

趣旨解説。

このブログでは、コーディング関連での些細なTipsをちょこちょこと扱って行きます。 javascript(GreaseMonkey)やJavaの話題が中心になるかと思ってます。 基本的に自分用メモです。 この忘備録が、これを読む人のヒントになれば、こんなにうれしいことはあり…