source:
branch/egtra-stream-without-en_dec/Classes/System/IO/TextWriter.ab@
674
Last change on this file since 674 was 673, checked in by , 16 years ago | |
---|---|
File size: 2.9 KB |
Rev | Line | |
---|---|---|
[468] | 1 | 'Classes/System/IO/TextWriter.ab |
2 | ||
3 | Namespace System | |
4 | Namespace IO | |
5 | ||
6 | /* | |
7 | @brief テキスト書き込みの抽象基底クラス | |
8 | @date 2007/03/05 | |
9 | @auther Egtra | |
10 | */ | |
11 | Class TextWriter | |
[653] | 12 | Implements System.IDisposable |
[468] | 13 | Public |
14 | Virtual Sub ~TextWriter() | |
15 | Dispose(False) | |
16 | End Sub | |
17 | ||
18 | ' Static Null = StreamWriter.Null As StreamWriter | |
19 | ||
20 | Public | |
21 | Sub Close() | |
22 | Dispose(True) | |
23 | End Sub | |
24 | ||
25 | Sub Dispose() | |
26 | Dispose(True) | |
27 | End Sub | |
28 | ||
[473] | 29 | Virtual Sub Flush() |
30 | End Sub | |
31 | ||
[653] | 32 | 'これ以外全てのWrite/WriteLineは、最終的にこのWriteを呼ぶ。 |
33 | Sub Write(x As String) | |
34 | buf.Append(x) | |
35 | If buf.Length >= 4096 Then | |
36 | Flush() | |
37 | End If | |
[468] | 38 | End Sub |
39 | ||
[653] | 40 | Sub Write(x As Boolean) |
41 | buf.Append(x) | |
[468] | 42 | End Sub |
[653] | 43 | |
44 | Sub Write(x As SByte) | |
45 | buf.Append(x) | |
46 | End Sub | |
[468] | 47 | |
[653] | 48 | Sub Write(x As Byte) |
49 | buf.Append(x) | |
[468] | 50 | End Sub |
[653] | 51 | |
52 | Sub Write(x As Word) | |
53 | buf.Append(x) | |
[468] | 54 | End Sub |
[653] | 55 | |
56 | Sub Write(x As Integer) | |
57 | buf.Append(x) | |
[468] | 58 | End Sub |
59 | ||
[653] | 60 | Sub Write(x As DWord) |
61 | buf.Append(x) | |
[468] | 62 | End Sub |
63 | ||
[653] | 64 | Sub Write(x As Long) |
65 | buf.Append(x) | |
[468] | 66 | End Sub |
67 | ||
[653] | 68 | Sub Write(x As QWord) |
69 | buf.Append(x) | |
[468] | 70 | End Sub |
71 | ||
[653] | 72 | Sub Write(x As Int64) |
73 | buf.Append(x) | |
[468] | 74 | End Sub |
75 | ||
[653] | 76 | Sub Write(x As Single) |
77 | buf.Append(x) | |
[468] | 78 | End Sub |
79 | ||
[653] | 80 | Sub Write(x As Double) |
81 | buf.Append(x) | |
[468] | 82 | End Sub |
83 | ||
[653] | 84 | Sub Write(x As Object) |
85 | buf.Append(x) | |
[468] | 86 | End Sub |
87 | ||
[673] | 88 | Virtual Sub WriteLine() |
[653] | 89 | Write(Environment.NewLine) |
[468] | 90 | End Sub |
91 | ||
[653] | 92 | Sub WriteLine(x As String) |
93 | Write(x) | |
[468] | 94 | WriteLine() |
95 | End Sub | |
96 | ||
97 | Sub WriteLine(x As Boolean) | |
[653] | 98 | Write(x) |
[468] | 99 | WriteLine() |
100 | End Sub | |
101 | ||
102 | Sub WriteLine(x As Byte) | |
[653] | 103 | Write(x) |
[468] | 104 | WriteLine() |
105 | End Sub | |
[653] | 106 | |
[468] | 107 | Sub WriteLine(x As SByte) |
[653] | 108 | Write(x) |
[468] | 109 | WriteLine() |
110 | End Sub | |
[653] | 111 | |
[468] | 112 | Sub WriteLine(x As Word) |
[653] | 113 | Write(x) |
[468] | 114 | WriteLine() |
115 | End Sub | |
[653] | 116 | |
[468] | 117 | Sub WriteLine(x As Integer) |
[653] | 118 | Write(x) |
[468] | 119 | WriteLine() |
120 | End Sub | |
121 | ||
122 | Sub WriteLine(x As DWord) | |
[653] | 123 | Write(x) |
[468] | 124 | WriteLine() |
125 | End Sub | |
126 | ||
127 | Sub WriteLine(x As Long) | |
[653] | 128 | Write(x) |
[468] | 129 | WriteLine() |
130 | End Sub | |
131 | ||
132 | Sub WriteLine(x As QWord) | |
[653] | 133 | Write(x) |
[468] | 134 | WriteLine() |
135 | End Sub | |
136 | ||
137 | Sub WriteLine(x As Int64) | |
[653] | 138 | Write(x) |
[468] | 139 | WriteLine() |
140 | End Sub | |
141 | ||
142 | Sub WriteLine(x As Single) | |
[653] | 143 | Write(x) |
[468] | 144 | WriteLine() |
145 | End Sub | |
146 | ||
147 | Sub WriteLine(x As Double) | |
[653] | 148 | Write(x) |
[468] | 149 | WriteLine() |
150 | End Sub | |
151 | ||
152 | Sub WriteLine(x As Object) | |
[653] | 153 | Write(x) |
[468] | 154 | WriteLine() |
155 | End Sub | |
156 | ||
[523] | 157 | Static Function Synchronized(writer As TextWriter) As TextWriter |
[522] | 158 | ' TODO: 実装。とりあえずそのまま返却 |
[523] | 159 | Return writer |
[522] | 160 | End Function |
[653] | 161 | |
[468] | 162 | Protected |
[653] | 163 | Sub TextWriter() |
164 | buf = New Text.StringBuilder | |
165 | End Sub | |
166 | ||
167 | Sub TextWriter(buffer As Text.StringBuilder) | |
168 | If ActiveBasic.IsNothing(buffer) Then | |
169 | Throw New ArgumentNullException("buffer") | |
170 | End If | |
171 | buf = buffer | |
172 | End Sub | |
173 | ||
[665] | 174 | /*! |
175 | @brief 内部バッファを返す | |
176 | @date 2008/12/27 | |
177 | @auther Egtra | |
178 | @return 内部バッファ | |
179 | */ | |
[653] | 180 | Function Buffer() As Text.StringBuilder |
181 | Buffer = buf | |
182 | End Function | |
183 | ||
[468] | 184 | Virtual Sub Dispose(disposing As Boolean) |
[653] | 185 | If disposing Then |
186 | Flush() | |
187 | buf = Nothing | |
188 | End If | |
[468] | 189 | End Sub |
190 | ||
191 | Private | |
[653] | 192 | buf As Text.StringBuilder |
[468] | 193 | End Class |
194 | ||
[522] | 195 | |
[468] | 196 | End Namespace |
[653] | 197 | End Namespace |
Note:
See TracBrowser
for help on using the repository browser.