Details zum InputStreamReader

Status
Nicht offen für weitere Antworten.

ElBobby

Mitglied
Hallo, ich habe diesen Code geschrieben (er stammt aus der API). Nun habe ich zwei Fragen:

[HIGHLIGHT="Java"]package io;

import java.io.*;


public class CopyBytes
{

public static void main(String[] args) throws IOException
{
String input = "/home/puff/workspace/io/src/io/in.txt";
String output = "/home/puff/workspace/io/src/io/out.txt";
FileInputStream in = null;
FileOutputStream out = null;


try
{
in = new FileInputStream(input);
out = new FileOutputStream(output);
int c = 0;

while( (c= in.read()) != -1)
{
out.write(c);
}
}

finally
{
if(in != null)
{
in.close();
}
if(out != null)
{
out.close();
}
}
}

}[/HIGHLIGHT]

1. Wieso, kommt, bei einem "leeren" Zeichen ein -1 als Wert?
2. Wieso und woher (ASCII Tabelle?) bekommt die Variable einen int-Wert ?

Danke.

(Gibt es keine Möglichkeit, den Code besser darzustellen, hier im Forum?)

[edit Ebenius] Doch, mit [*HIGHLIGHT="Java"]Dein Quelltext[*/HIGHLIGHT] (ohne '*')
 
Zuletzt bearbeitet von einem Moderator:

Murray

Top Contributor
2. Wieso und woher (ASCII Tabelle?) bekommt die Variable einen int-Wert ?
Das hängt davon ab, wie die Datei geschrieben worden ist. Eine Datei ist ja zunächst mal eine Liste von Binärdaten (Bytes). Ob diese Bytes nun als ASCII-Code, als UTF-8-encodete Unicode-Zeichen oder im Sinne irgendeines proprietären Dateiformats (wie z.B. Windword-Dokumente) interpertiert werden müssen, ist den Daten i.A. nicht anzusehen.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben