using System;
using System.IO;
using SharpCompress.Common;
using SharpCompress.Reader.Rar;
// 2012-02:12T06:24+09:00追記
// 日本語をファイル名に含むファイルが含まれたrarがないというだけで、
// US-ASCIIのみで構成されたファイルは
// http://w...content-available-to-author-only...b.com/demos/
// にあるややでかいファイルを利用して、日本語を含むディレクトリに展開することはできてるよ?
// 念のため。
namespace Q7287412
{
class MainClass
{
public static void Main (string[] args)
{
string destination = "D:\\あいうえお\\";
RarReader r = RarReader.Open (new FileStream ("D:\\きくけ\\abc.rar", System.IO.FileMode.Open), Options.GiveDirectoryEntries);
while (r.MoveToNextEntry() != false) {
if (r.Entry.IsDirectory) {
System.IO.Directory.CreateDirectory (System.IO.Path.Combine (destination, r.Entry.FilePath));
continue;
}
r.WriteEntryTo (new FileStream (System.IO.Path.Combine (destination, r.Entry.FilePath), FileMode.CreateNew));
}
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uSU87CnVzaW5nIFNoYXJwQ29tcHJlc3MuQ29tbW9uOwp1c2luZyBTaGFycENvbXByZXNzLlJlYWRlci5SYXI7CgovLyAyMDEyLTAyOjEyVDA2OjI0KzA5OjAw6L+96KiYCi8vIOaXpeacrOiqnuOCkuODleOCoeOCpOODq+WQjeOBq+WQq+OCgOODleOCoeOCpOODq+OBjOWQq+OBvuOCjOOBn3JhcuOBjOOBquOBhOOBqOOBhOOBhuOBoOOBkeOBp+OAgQovLyBVUy1BU0NJSeOBruOBv+OBp+ani+aIkOOBleOCjOOBn+ODleOCoeOCpOODq+OBrwovLyBodHRwOi8vdy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uYi5jb20vZGVtb3MvCi8vIOOBq+OBguOCi+OChOOChOOBp+OBi+OBhOODleOCoeOCpOODq+OCkuWIqeeUqOOBl+OBpuOAgeaXpeacrOiqnuOCkuWQq+OCgOODh+OCo+ODrOOCr+ODiOODquOBq+WxlemWi+OBmeOCi+OBk+OBqOOBr+OBp+OBjeOBpuOCi+OCiO+8nwovLyDlv7Xjga7jgZ/jgoHjgIIKCm5hbWVzcGFjZSBRNzI4NzQxMgp7CgljbGFzcyBNYWluQ2xhc3MKCXsKCQlwdWJsaWMgc3RhdGljIHZvaWQgTWFpbiAoc3RyaW5nW10gYXJncykKCQl7CgoJCQlzdHJpbmcgZGVzdGluYXRpb24gPSAiRDpcXOOBguOBhOOBhuOBiOOBilxcIjsKCgkJCVJhclJlYWRlciByID0gUmFyUmVhZGVyLk9wZW4gKG5ldyBGaWxlU3RyZWFtICgiRDpcXOOBjeOBj+OBkVxcYWJjLnJhciIsIFN5c3RlbS5JTy5GaWxlTW9kZS5PcGVuKSwgT3B0aW9ucy5HaXZlRGlyZWN0b3J5RW50cmllcyk7CgkJCXdoaWxlIChyLk1vdmVUb05leHRFbnRyeSgpICE9IGZhbHNlKSB7CgkJCQlpZiAoci5FbnRyeS5Jc0RpcmVjdG9yeSkgewoJCQkJCVN5c3RlbS5JTy5EaXJlY3RvcnkuQ3JlYXRlRGlyZWN0b3J5IChTeXN0ZW0uSU8uUGF0aC5Db21iaW5lIChkZXN0aW5hdGlvbiwgci5FbnRyeS5GaWxlUGF0aCkpOwoJCQkJCWNvbnRpbnVlOwoJCQkJfQoJCQkJci5Xcml0ZUVudHJ5VG8gKG5ldyBGaWxlU3RyZWFtIChTeXN0ZW0uSU8uUGF0aC5Db21iaW5lIChkZXN0aW5hdGlvbiwgci5FbnRyeS5GaWxlUGF0aCksIEZpbGVNb2RlLkNyZWF0ZU5ldykpOwoJCQl9CgkJfQoJfQp9