MatthiWare
Gebruiker
- Lid geworden
- 2 jul 2011
- Berichten
- 282
Hallo allemaal!
Ik heb een stream gemaakt die een een zelfgemaakte class behandeld, (eerste keer dat ik zelf een stream implementatie maak)
in de zelfgemaakt class heb ik een buffer zitten waar naartoe geschreven en gelezen moet worden als je de StreamWriter en StreamReader gebruikt.
Nu de StreamWriter werkt maar als ik wil lezen krijg ik altijd niets terug.
Test code zodat je weet wat ik met het bovenstaande bedoel:
POFile.cs:
POStream.cs:
Bedankt
Ik heb een stream gemaakt die een een zelfgemaakte class behandeld, (eerste keer dat ik zelf een stream implementatie maak)
in de zelfgemaakt class heb ik een buffer zitten waar naartoe geschreven en gelezen moet worden als je de StreamWriter en StreamReader gebruikt.
Nu de StreamWriter werkt maar als ik wil lezen krijg ik altijd niets terug.
Test code zodat je weet wat ik met het bovenstaande bedoel:
Code:
POFile file = POFile.Create(@"ROOT:\\Libraries\Pictures\test.png");
StreamWriter sw = new StreamWriter(file.GetStream(), Encoding.Default);
sw.WriteLine("Dit is een test");
sw.Close();
Console.WriteLine(file.ReadAllText()); //Dit geeft 'Dit is een test' terug
//Maar als ik dit gebruik:
StreamReader sr = new StreamReader(file.GetStream(), Encoding.Default);
Console.WriteLine(sr.ReadToEnd()); //Dit is leeg
sr.Close();
POFile.cs:
Code:
public class POFile
{
private String _name;
public String Name
{
get { //... }
set { //... }
}
private String _fullFileName;
public String FullFileName
{
get { //... }
set { //... }
}
private Byte[] _raw = new Byte[0];
private Byte[] Raw
{
get { return _raw; }
set { _raw = value; }
}
public Stream GetStream()
{
POStream mem = new POStream(this);
return mem;
}
public Byte[] ReadAllBytes() { //... }
public String ReadAllText() { //... }
public void Write(String text) { //... }
public void Write(Byte[] raw) { //... }
public void AppendWrite(String text) { //... }
public void AppendWrite(Byte[] raw) { //... }
private static String GetPathWithoutFile(String[] s) { //... }
private static POFile Searcher(PODirectory currDir, String fullPath, String name, Boolean create) { //... }
public static POFile Open(String path) { //... }
public static POFile Create(String path) { //... }
}
POStream.cs:
Code:
public class POStream : MemoryStream
{
private POFile file;
public POStream(POFile file)
: base()
{
if (file == null)
throw new ArgumentNullException("file", "The file cannot be null.");
this.file = file;
}
public POStream(String path)
: base()
{
if (path == null)
throw new ArgumentNullException("path", "The path cannot be null.");
if (path == "")
throw new ArgumentException("The path cannot be empty", "path");
this.file = POFile.Create(path);
}
public override void Flush()
{
file.Write(this.GetBuffer());
base.Flush();
}
}
Bedankt
Laatst bewerkt: