Buffered Stream & OpenRead
-
computerpublic wrote:
All i am attempting to do is read a file piece by piece, turn each byte into a number
You're assuming a text-file in ASCII? In UTF, a charactar might consist of multiple bytes.
static void Main(string\[\] args) { string data; using (var fs = new FileStream(path: @"D:\\Projects\\ConsoleApplication6\\ConsoleApplication6\\Program.cs", mode: FileMode.Open)) using (var rdr = new StreamReader(fs)) { data = rdr.ReadToEnd(); } using (var fsout = new FileStream(path: "output.txt", mode: FileMode.Create)) foreach (char c in data) { Byte b = ASCIIEncoding.ASCII.GetBytes(new char\[\] { c })\[0\]; Console.WriteLine("{0} {1}", c, b); fsout.WriteByte(b); } Console.WriteLine(); Console.WriteLine(File.ReadAllText("output.txt")); Console.ReadLine(); }
Put the cursor on the first line and press the
F9
. Next useF10
to step thorugh all the instructions. Soooo, to bring the subject back to my fee.. :suss:Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]
Eddy Vluggen wrote:
Soooo, to bring the subject back to my fee..
Try CraigsList - he says he is going to!
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952) Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
-
Hey guys, thanks you very much. I will try to find someone on Craigslist who can do this for a small fee. Again, thank you very much.
Is the education system in the USA really so rubbish that they let teachers who know nothing about complicated technical subjects teach it to people who probably know more about how to use the technology than the teachers? If so, then I'd fear for the future of your country, because that is like getting someone who can't drive to teach airline pilots to fly... :sigh:
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952) Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
-
computerpublic wrote:
All i am attempting to do is read a file piece by piece, turn each byte into a number
You're assuming a text-file in ASCII? In UTF, a charactar might consist of multiple bytes.
static void Main(string\[\] args) { string data; using (var fs = new FileStream(path: @"D:\\Projects\\ConsoleApplication6\\ConsoleApplication6\\Program.cs", mode: FileMode.Open)) using (var rdr = new StreamReader(fs)) { data = rdr.ReadToEnd(); } using (var fsout = new FileStream(path: "output.txt", mode: FileMode.Create)) foreach (char c in data) { Byte b = ASCIIEncoding.ASCII.GetBytes(new char\[\] { c })\[0\]; Console.WriteLine("{0} {1}", c, b); fsout.WriteByte(b); } Console.WriteLine(); Console.WriteLine(File.ReadAllText("output.txt")); Console.ReadLine(); }
Put the cursor on the first line and press the
F9
. Next useF10
to step thorugh all the instructions. Soooo, to bring the subject back to my fee.. :suss:Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]
You cannot engage children with text, you will lose there attention within 2 seconds. Children responds to media such as a short piece of music or video, that is why i choose to read bytes instead of what you did.
-
/*
Hello friends, I am trying to show my students that a computer program is an arrangement of numbers. My kids love only video games and sports, but not every child is going to go on to play and make a living in sports. I am trying to get them interested in something other than sports. I am trying to engage then in something that they like that is more practical for them in the long run. I am not a computer programmer, but I know the importance of it. What you see here is what I have learn and read in books, but it is not working. I have tried many times to gain help in fixing this code, but no one in the forum wanted to help. They only wanted to make comments to show there arrogance. I have deleted some of it in order to make it short and simple. I can do some basic things, but now its getting very complicated. All i am attempting to do is read a file piece by piece, turn each byte into a number and SHOW IT, turn the number back to a byte and SHOW IT, then reassemble back the file and save it to another location the computer. That's all the kids want to see.
*/
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace Applica
{
class Program
{
static void Main(string[] args)
{
DirectoryInfo da = new DirectoryInfo("C:\\Folder1");
FileInfo[] Arr = da.GetFiles();
FileInfo ap = Arr[Arr.Length - 1];
long Totbyte = ap.Length;
string filePath = ap.FullName;
Console.WriteLine("Total Bytes = {0} bytes", Totbyte);
string temPath = Path.GetTempFileName();
string temPath2 = Path.GetTempFileName();
const int BufferSize = 1024;
byte[] buffer = new byte[BufferSize];using (BufferedStream input = new BufferedStream(File.OpenRead(temPath))) { int bytesRead; using (BufferedStream output = new BufferedStream(File.OpenWrite(temPath2))) { while ((bytesRead = input.Read(buffer, 0, BufferSize)) > 0) { // Convert the bytes to decimals: decimal\[\] arry = new decimal\[Totbyte\]; for (int count = 0; count < buffer.Length; count++) { arry\[count\] = buffer\[count\]; Console.WriteLine("{0}={1}",arry\[
computerpublic wrote:
string temPath = Path.GetTempFileName();
From the MSDN documentation:
http://msdn.microsoft.com/en-us/library/system.io.path.gettempfilename%28v=vs.110%29.aspx[^]
Creates a uniquely named, zero-byte temporary file on disk and returns the full path of that file.
You have created an empty file; when you try to read it, you won't get any bytes returned, because it's empty.
computerpublic wrote:
Console.WriteLine("{0}={1}",arry[count],buffer[count]);//THE VISUAL PRESENTATION DOES NOT WORK
As you've written it, the code would print out
"_NUMBER_=_NUMBER_"
for each byte in the input file. Since there are no bytes in the input file, it won't have anything to display.computerpublic wrote:
string filePath2 = Path.Combine("C:\\check", Path.GetFileName(filePath)); //THE OUTPUT FILE DOES NOT WORK output.Write(buffer, 0, bytesRead);
Apart from the fact that the input file is empty, your code suggests that you're trying to write to a file in the directory
C:\check
, but you're actually writing to another temporary file, which will be in the%TEMP%
folder.computerpublic wrote:
turn each byte into a number and SHOW IT, turn the number back to a byte and SHOW IT
A byte is a number. It's a number between
0
and255
. There's no need to turn it into a number. Saying "I need to turn this byte into a number" is like saying "I need to turn this fluid into a liquid". There's no conversion needed. What I suspect you want to do is display the byte in different number bases - for -
Eddy Vluggen wrote:
Soooo, to bring the subject back to my fee..
Try CraigsList - he says he is going to!
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952) Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
I am sorry I approach you the wrong way. I didn't the code project forum was about charging individual for help. After all it is a "forum". The country is quickly becoming second class because those who know do not want help those who do not know. Our jails and prison are full to capacity and prisoners in California are being release prematurely to make room for new prisoners. Think about education the next you see someone getting robs or violated. It could be you, your neighbor or your love ones. Its because of education or lack of education why our prison system is overwhelmed. You disgrace the forum when you make comments about being paid. You tarnish the reputation of the people who genuinely join the forum to help others. You can insult me and be as rude as you want. At least I am trying to help these kids to be interested in something. Have a good day Sir.
-
I am sorry I approach you the wrong way. I didn't the code project forum was about charging individual for help. After all it is a "forum". The country is quickly becoming second class because those who know do not want help those who do not know. Our jails and prison are full to capacity and prisoners in California are being release prematurely to make room for new prisoners. Think about education the next you see someone getting robs or violated. It could be you, your neighbor or your love ones. Its because of education or lack of education why our prison system is overwhelmed. You disgrace the forum when you make comments about being paid. You tarnish the reputation of the people who genuinely join the forum to help others. You can insult me and be as rude as you want. At least I am trying to help these kids to be interested in something. Have a good day Sir.
OK. Step away from the computer, take several deep breaths, and count to 10. Then realise that Eddy was joking when he mentioned his "fee". That Griff was joining in with that joke. And that nobody here was trying to insult you or be rude. We're generally a friendly bunch of geeks and nerds, even if our sense of humour might seem odd to outsiders. :)
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
-
OK. Step away from the computer, take several deep breaths, and count to 10. Then realise that Eddy was joking when he mentioned his "fee". That Griff was joining in with that joke. And that nobody here was trying to insult you or be rude. We're generally a friendly bunch of geeks and nerds, even if our sense of humour might seem odd to outsiders. :)
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
You are wrong! I tried to insult him after all that rude comments he had! If he was a teacher in the school of my kids - he wasn't!!! I hope he does not pass his anger and impatience on the kids...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
-
You are wrong! I tried to insult him after all that rude comments he had! If he was a teacher in the school of my kids - he wasn't!!! I hope he does not pass his anger and impatience on the kids...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
OK, let me change that to: "We're generally a friendly bunch of geeks and nerds, apart from that Kornfeld Eliyahu Peter, who's a nasty scary man who should be avoided at all costs!" ;P
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
-
OK. Step away from the computer, take several deep breaths, and count to 10. Then realise that Eddy was joking when he mentioned his "fee". That Griff was joining in with that joke. And that nobody here was trying to insult you or be rude. We're generally a friendly bunch of geeks and nerds, even if our sense of humour might seem odd to outsiders. :)
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
I am a proud American and I try to instill the same values in the students. America use to be #1 in everything. Where are we now? I guess we are too busy making jokes. This is the CodeProject, not Comedy Central. Some of the users are going away from the core values of the CodeProject stand for. The jokes are not appreciated by me or my students. Mr. Deeming, thank you for your solution. I have not tried it yet, but looks like very professional. Thank you.
-
OK, let me change that to: "We're generally a friendly bunch of geeks and nerds, apart from that Kornfeld Eliyahu Peter, who's a nasty scary man who should be avoided at all costs!" ;P
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
Thank you. I demand accuracy!
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
-
I am sorry I approach you the wrong way. I didn't the code project forum was about charging individual for help. After all it is a "forum". The country is quickly becoming second class because those who know do not want help those who do not know. Our jails and prison are full to capacity and prisoners in California are being release prematurely to make room for new prisoners. Think about education the next you see someone getting robs or violated. It could be you, your neighbor or your love ones. Its because of education or lack of education why our prison system is overwhelmed. You disgrace the forum when you make comments about being paid. You tarnish the reputation of the people who genuinely join the forum to help others. You can insult me and be as rude as you want. At least I am trying to help these kids to be interested in something. Have a good day Sir.
We aren't about charging people for help; but we also aren't about doing other people's work for them; that doesn't help anyone in the long term. And in the case of teachers, it doesn't help anyone in the short term either. All it does is set you up for a fall - and a big one - when one of the students needs similar help and you can't provide it because you don't understand it yourself. At that point you lose the the whole class. They lose respect for your knowledge in this subject, and at that age probably respect for your knowledge in any subject. Then how will they learn? Go out, or use CraigsList - not to get this fixed, but to find someone who knows how to do it, and who'd willing to give up a couple of hours a week to pass that on, with your help as a profession, trained teacher (because people who are technically talented are usually about as good at teaching what the know as a dead monkey...)
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952) Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
-
I am a proud American and I try to instill the same values in the students. America use to be #1 in everything. Where are we now? I guess we are too busy making jokes. This is the CodeProject, not Comedy Central. Some of the users are going away from the core values of the CodeProject stand for. The jokes are not appreciated by me or my students. Mr. Deeming, thank you for your solution. I have not tried it yet, but looks like very professional. Thank you.
computerpublic wrote:
I guess we are too busy making jokes.
Well, Eddy's from the Netherlands, Griff's from Wales, and I'm from England, so I don't think we can blame the Americans for that. :)
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
-
I am sorry I approach you the wrong way. I didn't the code project forum was about charging individual for help. After all it is a "forum". The country is quickly becoming second class because those who know do not want help those who do not know. Our jails and prison are full to capacity and prisoners in California are being release prematurely to make room for new prisoners. Think about education the next you see someone getting robs or violated. It could be you, your neighbor or your love ones. Its because of education or lack of education why our prison system is overwhelmed. You disgrace the forum when you make comments about being paid. You tarnish the reputation of the people who genuinely join the forum to help others. You can insult me and be as rude as you want. At least I am trying to help these kids to be interested in something. Have a good day Sir.
computerpublic wrote:
I am sorry I approach you the wrong way
Ditto.
computerpublic wrote:
I didn't the code project forum was about charging individual for help.
They don't!! :omg: That's why I also posted a possible solution, as opposed to haggling you into some agreement. Eveything that's posted becomes a bit of public property. And of the hamsters. Bottom point is, one can't ask money for what's already given.
computerpublic wrote:
You disgrace the forum
From time to time, yes.
computerpublic wrote:
people who genuinely join the forum to help others
The forum is free. It's all simply people talking about their work, sharing bits here and there, helping each other. That's how I learned this stuff, and that's why I'm helping others with their stuff here :)
Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]
-
Is the education system in the USA really so rubbish that they let teachers who know nothing about complicated technical subjects teach it to people who probably know more about how to use the technology than the teachers? If so, then I'd fear for the future of your country, because that is like getting someone who can't drive to teach airline pilots to fly... :sigh:
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952) Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
-
/*
Hello friends, I am trying to show my students that a computer program is an arrangement of numbers. My kids love only video games and sports, but not every child is going to go on to play and make a living in sports. I am trying to get them interested in something other than sports. I am trying to engage then in something that they like that is more practical for them in the long run. I am not a computer programmer, but I know the importance of it. What you see here is what I have learn and read in books, but it is not working. I have tried many times to gain help in fixing this code, but no one in the forum wanted to help. They only wanted to make comments to show there arrogance. I have deleted some of it in order to make it short and simple. I can do some basic things, but now its getting very complicated. All i am attempting to do is read a file piece by piece, turn each byte into a number and SHOW IT, turn the number back to a byte and SHOW IT, then reassemble back the file and save it to another location the computer. That's all the kids want to see.
*/
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace Applica
{
class Program
{
static void Main(string[] args)
{
DirectoryInfo da = new DirectoryInfo("C:\\Folder1");
FileInfo[] Arr = da.GetFiles();
FileInfo ap = Arr[Arr.Length - 1];
long Totbyte = ap.Length;
string filePath = ap.FullName;
Console.WriteLine("Total Bytes = {0} bytes", Totbyte);
string temPath = Path.GetTempFileName();
string temPath2 = Path.GetTempFileName();
const int BufferSize = 1024;
byte[] buffer = new byte[BufferSize];using (BufferedStream input = new BufferedStream(File.OpenRead(temPath))) { int bytesRead; using (BufferedStream output = new BufferedStream(File.OpenWrite(temPath2))) { while ((bytesRead = input.Read(buffer, 0, BufferSize)) > 0) { // Convert the bytes to decimals: decimal\[\] arry = new decimal\[Totbyte\]; for (int count = 0; count < buffer.Length; count++) { arry\[count\] = buffer\[count\]; Console.WriteLine("{0}={1}",arry\[
The bytesRead may differ from the BufferSize. So, you should do the for from 0 to less than bytesRead (you are doing the for to less than buffer.Length). You should use an ASCII text file for this to work, as other formats may use more than one byte per character. You don't need that Totbyte variable... you should always use the bytesRead instead.
-
Is the education system in the USA really so rubbish that they let teachers who know nothing about complicated technical subjects teach it to people who probably know more about how to use the technology than the teachers? If so, then I'd fear for the future of your country, because that is like getting someone who can't drive to teach airline pilots to fly... :sigh:
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952) Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
-
-
Wow! They get rapid advancement in the US don't they? Student to teacher in a few short months...
Those who fail to learn history are doomed to repeat it. --- George Santayana (December 16, 1863 – September 26, 1952) Those who fail to clear history are doomed to explain it. --- OriginalGriff (February 24, 1959 – ∞)
-
Hey guys, thanks you very much. I will try to find someone on Craigslist who can do this for a small fee. Again, thank you very much.
You're meant to be teaching this course. What happens when a student asks you a question about something that is, after all, incredibly simple? Do you wait until the following week to give an answer, the same way that you whinged about a previous lecturer of yours? If you can't write this stuff, you shouldn't be teaching it.