|
| Læse enkelte bits Fra : Martin Ehmsen |
Dato : 28-10-01 18:19 |
|
Hej...
Jeg sidder netop med et problem, som ville blive noget lettere hvis det
var muligt at læse/skrive enkelte bits fra/til en fil.
Men så vidt jeg ved så er det kun muligt at læse enkelte bytes, men det
kunne jo være...?
Mvh.
Martin Ehmsen
--
"Life is good for only two things,
discovering mathematics and teaching mathematics"
Siméon Poisson
| |
Brian Matzon (28-10-2001)
| Kommentar Fra : Brian Matzon |
Dato : 28-10-01 20:41 |
|
"Martin Ehmsen" <thames@get2net.dk> wrote in message
news:9rhejj$dov$1@sunsite.dk...
> Hej...
>
> Jeg sidder netop med et problem, som ville blive noget lettere hvis det
> var muligt at læse/skrive enkelte bits fra/til en fil.
> Men så vidt jeg ved så er det kun muligt at læse enkelte bytes, men det
> kunne jo være...?
Nope - så du må igang med lidt bitshifting...
| |
Martin Ehmsen (28-10-2001)
| Kommentar Fra : Martin Ehmsen |
Dato : 28-10-01 22:52 |
|
Brian Matzon wrote:
> "Martin Ehmsen" <thames@get2net.dk> wrote in message
> news:9rhejj$dov$1@sunsite.dk...
>> Hej...
>>
>> Jeg sidder netop med et problem, som ville blive noget lettere hvis
det
>> var muligt at læse/skrive enkelte bits fra/til en fil.
>> Men så vidt jeg ved så er det kun muligt at læse enkelte bytes, men
det
>> kunne jo være...?
>
> Nope - så du må igang med lidt bitshifting...
Ja, det er lidt træls ikke...
Jeg kan ikke forstå hvorfor det ikke er muligt, er der mon en grund til
at Sun ikke synes det skal være muligt??
Ikke engang (så vidt jeg kan se) i den snart kommende version 1.4
bliver det muligt, selv om I/O-delen er totalt omskrevet/forbedret.
Martin Ehmsen
--
"Life is good for only two things,
discovering mathematics and teaching mathematics"
Siméon Poisson
| |
Lars Dam (28-10-2001)
| Kommentar Fra : Lars Dam |
Dato : 28-10-01 22:56 |
|
On Sun, 28 Oct 2001 22:52:11 +0100, Martin Ehmsen <thames@get2net.dk>
wrote:
>Brian Matzon wrote:
>
>> "Martin Ehmsen" <thames@get2net.dk> wrote in message
>> news:9rhejj$dov$1@sunsite.dk...
>>> Hej...
>>>
>>> Jeg sidder netop med et problem, som ville blive noget lettere hvis
>det
>>> var muligt at læse/skrive enkelte bits fra/til en fil.
>>
>> Nope - så du må igang med lidt bitshifting...
>Ja, det er lidt træls ikke...
Det er da ikke så slemt... Du laver da bare din egen
bitreadstream/bitwritestream som bygger oven på en standard iostream?
Så bare shift en bit een ad gangen, og når du har hele byten, så gem
den, og start forfram.
>Martin Ehmsen
vh. ld
| |
Martin Ehmsen (28-10-2001)
| Kommentar Fra : Martin Ehmsen |
Dato : 28-10-01 23:08 |
|
Lars Dam wrote:
> Det er da ikke så slemt... Du laver da bare din egen
> bitreadstream/bitwritestream som bygger oven på en standard iostream?
> Så bare shift en bit een ad gangen, og når du har hele byten, så gem
> den, og start forfram.
Nej overhovedet ikke, men det er at give opgaven for meget kredit
Men jeg kunne selvfølgelig gøre det for min egen skyld og lægge den i
bunken af værktøjsklasser.
Martin Ehmsen
--
"Life is good for only two things,
discovering mathematics and teaching mathematics"
Siméon Poisson
| |
Martin Moller Peders~ (28-10-2001)
| Kommentar Fra : Martin Moller Peders~ |
Dato : 28-10-01 23:38 |
|
In <okvottk05dm8lvk3n7m4lkb8tcb3k7jf2c@4ax.com> Lars Dam <larsdamXXspamXXprotectionXX@post2.tele.dk> writes:
>On Sun, 28 Oct 2001 22:52:11 +0100, Martin Ehmsen <thames@get2net.dk>
>wrote:
>>Brian Matzon wrote:
>>
>>> "Martin Ehmsen" <thames@get2net.dk> wrote in message
>>> news:9rhejj$dov$1@sunsite.dk...
>>>> Hej...
>>>>
>>>> Jeg sidder netop med et problem, som ville blive noget lettere hvis
>>det
>>>> var muligt at læse/skrive enkelte bits fra/til en fil.
>>>
>>> Nope - så du må igang med lidt bitshifting...
>>Ja, det er lidt træls ikke...
>Det er da ikke så slemt... Du laver da bare din egen
>bitreadstream/bitwritestream som bygger oven på en standard iostream?
>Så bare shift en bit een ad gangen, og når du har hele byten, så gem
>den, og start forfram.
Eller finder en gammel Dr. Dobbs artikel om samme emne.
Maaske 3 aar gammel, men jeg husker det ikke praecist.
Mvh
Martin
| |
Ulrik Magnusson (28-10-2001)
| Kommentar Fra : Ulrik Magnusson |
Dato : 28-10-01 22:54 |
|
Martin Ehmsen wrote:
> Jeg sidder netop med et problem, som ville blive noget lettere hvis det
> var muligt at læse/skrive enkelte bits fra/til en fil.
> Men så vidt jeg ved så er det kun muligt at læse enkelte bytes, men det
> kunne jo være...?
Du kan da evt. lade dig inspirere eller bygge videre på følgende
(ingen garantier og meget lidt testet):
class BitStreamWriter
{
private int by = 0;
private int toGo = 7;
private java.io.DataOutputStream writer;
public BitStreamWriter( java.io.File file ) throws java.io.IOException
{
writer = new java.io.DataOutputStream( new java.io.FileOutputStream(file)
);
}
public void write( boolean b ) throws java.io.IOException
{
if( b )
{
by |= (1 << toGo);
}
if( toGo == 0 )
{
write();
}
else
{
--toGo;
}
}
private void write() throws java.io.IOException
{
toGo = 7;
writer.write( by );
by = 0;
}
public void flush() throws java.io.IOException
{
write();
writer.flush();
}
}
class BitStreamReader
{
private int toGo = 7;
private int b;
private java.io.DataInputStream reader;
public BitStreamReader( java.io.File file ) throws java.io.IOException
{
reader = new java.io.DataInputStream( new java.io.FileInputStream(file)
);
}
public boolean read() throws java.io.IOException
{
if( toGo == 7 )
{
b = reader.read();
}
boolean res = (b & (1 << toGo)) == (1 << toGo);
toGo = toGo == 0? 7: toGo-1;
return res;
}
}
Ulrik Magnusson
| |
Martin Ehmsen (28-10-2001)
| Kommentar Fra : Martin Ehmsen |
Dato : 28-10-01 23:10 |
|
Ulrik Magnusson wrote:
<brugbar kode>
Takker...
Martin Ehmsen
--
"Life is good for only two things,
discovering mathematics and teaching mathematics"
Siméon Poisson
| |
|
|