Рейтинг:
1
OriginalGriff
То, что Ваш репетитор нуждается в том, чтобы вы сделали, - это изменились от чтения из файла- вашего input
Поток - для чтения данных непосредственно от пользователя.
Для этого вам нужно избавиться от линии:
using (Stream input = File.OpenRead(filePath))
И замените все ссылки в вашем коде на
input
со ссылками на
Console
класс и использовать различные методы чтения (Read и / или ReadLine) для извлечения байтов от пользователя.
Вам нужно будет решить, как пользователь вводит байты (он не может просто ввести их, так как он будет ограничен только символами, доступными с клавиатуры, в то время как значения байтов варьируются от 0 до 255), а затем решить, как вы сообщаете, что их больше нет, и так далее.
Сядьте и подумайте о задании, и о том, что вы узнали на последнем уроке - это должно быть довольно просто, если вы обратили внимание!
computerpublic
Все, что вы делаете, это говорите то, что я сказал, что я сделал. Я действительно прокомментировал "using (Stream input = File.OpenRead(filePath))", и это создало проблемы в других частях кода. Я сказал, что сделал это, когда впервые задал вопрос.
OriginalGriff
Да, и я сказал вам, что нужно сделать, чтобы заменить его.
Я не вижу вашего "измененного кода", поэтому я не могу комментировать "ошибку в других местах, которые я не знаю, как исправить", потому что я понятия не имею, что это за ошибки! :смеяться:
Помните, что мы не можем видеть ваш экран, получить доступ к вашему жесткому диску или прочитать ваши мысли - мы получаем только то, что вы печатаете для работы.
computerpublic
Please let me first say that I am here looking for help. Once i comment out "using (Stream input = File.OpenRead(filePath))", it nullifies other variables which are dependent to the line being commented out. So what I end up with, are other variables which also need to be commenting out and the problem snow ball in other problems. All I want to do is have someone show me how to redo the structure where i am still doing "output.Write(buffer, 0, bytesRead);", but taking the input manually one byte of a time (assume that i have them all the bytes written down on a piece of paper). I no longer want to do the "Read in from file" to get the bytes, but I want to build back the file from all the bytes entered. I am not a professional programmer like the people in this forum. I know my screen cannot be seen, but the entire code is here to be ran. It's only a few short line of code. I do not understand how to fix this problem. If you genuinely know how to fix this problem, please help me. Thank you.
OriginalGriff
Мы понимаем, что вы новичок - но вы должны понять, что для того, чтобы когда-либо быть больше, чем новичком, вам нужно сделать это самостоятельно. Наше "предоставление вам решения" никому не поможет в долгосрочной перспективе, так как вы ничего не узнаете о мыслительных процессах, связанных с передачей моего кода в качестве домашнего задания! И это означает, что следующая - более сложная - задача, которую он ставит, еще хуже для вас, потому что он ожидает, что вы будете иметь смутное представление о том, как думать, как разработчик, исходя из работы, которую вы должны были сделать над этой задачей.
Просто удаление линии само по себе не приносит ничего хорошего, конечно, это вызывает еще больше проблем! Это все равно что вынуть двигатель из машины - да, это значительно снижает вес, но не ускоряет его! Чтобы сделать это, вы должны поставить новый двигатель и справиться со всеми проблемами, которые возникают при подключении всего, чтобы он работал хорошо.
Так что перестань ныть и начинай думать:
1) Как я могу ввести один байт?
2) Как я могу хранить коллекцию одиночных байтов, чтобы иметь к ним доступ позже?
3) Как я сигнализирую "больше никаких байтов"?
Прочтите ваши заметки о курсе, и я почти уверен, что большая часть этого будет рассмотрена...
computerpublic
OriginalGriff большое спасибо за вашу помощь. Может ли кто-нибудь на этом форуме помочь вам? Я не понимаю, что все, что я делаю, не работает. Я занимаюсь этим уже несколько недель. Я полностью хожу по кругу и очень смущен тем, как работает синтаксис. Это не из-за недостатка попыток. Я перепробовал так много разных способов добиться успеха и в итоге ничего не добился.
Я использую цикл с переменной "Totbyte" из исходной программы для управления циклом, который будет запускать и завершать процесс после точного количества введенных байтов. Я также хочу использовать "выход.Write(buffer, 0, bytesRead);" чтобы собрать обратно файл. У меня есть две(2) проблемы.
1. Как исправить обнуленные переменные, которые были закомментированы.
2. Как ввести новый байт относительно "output.Write(buffer, 0, bytesRead);"
johannesnestler
Может быть, еще раз перечитаешь совет Гриффа. Перестаньте возиться с кодом, который у вас есть сейчас. Просто подумайте о логических шагах, связанных с этим, не написав никакого кода. Также попробуйте посмотреть на программу с точки зрения пользователя - что бы вы ожидали (как пользователь), как вводить байты (не тривиальная проблема)... и так далее.
Затем попробуйте реализовать его с тем, что вы знаете. Но такие вопросы, как "Как исправить обнуленные переменные, которые были прокомментированы", показывают, насколько далеко вы продвинулись в понимании программирования - так что того, что вы знаете сейчас, возможно, недостаточно. По крайней мере, попытайся понять то, чего ты не понимаешь. ;) Я думаю, что вам придется снова открыть свою книгу по программированию и изучить основы, прежде чем идти дальше... извините, но я думаю, что на вашем нынешнем "уровне понимания" даже некоторые примеры кода вам не помогут...
computerpublic
Я все еще ищу помощи, если кто-нибудь будет достаточно добр, чтобы помочь. Заранее спасибо.
OriginalGriff
Ну, у тебя было пять дней, чтобы поработать над этим сейчас - ты должен был бы уже сделать хороший кусок сам. Что тебе еще остается делать?