Member 13845906 Ответов: 2

Мне нужна помощь в создании сравнения файлов


создание программы с именем FileComparison, которая сравнивает два файла.Во-первых, используйте текстовый редактор, такой как блокнот, чтобы сохранить вашу любимую цитату из фильма. затем скопируйте содержимое файла и вставьте его в word. затем напишите приложение для сравнения файлов, которое отображает размеры двух файлов, а также соотношение их размеров друг к другу. Чтобы узнать размер файлов , вы можете создать систему.ИО.FileInfo на объект, используя такие утверждения, как следующее, Где имя_файла-это строка, которая содержит имя файла, и размер был заявлен как целое файла: FileInfo на инфо=новый FileInfo может(имя_файла) размер=информация о файле. Длина;

Что я уже пробовал:

using System;
using System.IO;
public class FileComparison
    {
    public FileComparison()
    {
    }

    public static void Main()
    {
        const string WORD_FILE = @"C:\Users\Heather \Desktop\Week 9/Quote.doc";
        const string NOTEPAD_FILE = @"C:\Users\Heather\Desktop\Week 9/Quote.txt";
        long wordSize;
        long notepadSize;
        double ratio;
        FileInfo wordInfo = new FileInfo(WORD_FILE);
        FileInfo notepadInfo = new FileInfo(NOTEPAD_FILE);
        wordSize =wordInfo.Length;
        notepadSize = notepadInfo.Length;
        Console.WriteLine("The size of the word file is" + wordSize + "/nand the size of the Notepad file is " + notepadSize);
        ratio = (double)notepadSize / wordSize;
        Console.WriteLine("The Notepad file is {0} of the size of the word file ", ratio.ToString("P2"));
        }
    }

Dave Kreskowiak

У тебя был вопрос?

OriginalGriff

И что же?
Что он делает такого, чего вы не ожидали, или не делает того, что вы сделали?
Где ты застрял?
Какая помощь вам нужна?

Member 13845906

Он не подключается к файлам, а затем читает и говорит мне, каков размер файлов. Я думал, что он сообщит мне размер каждого файла и соотношение для них. Я не вижу, что я делаю неправильно, чтобы это не сработало?

BillWoodruff

подумайте о возможности того, что два файла могут иметь разные типы расширений, разные имена, разные видимые размеры, разное время модификации и создания, но все же иметь точно такое же содержание.

Назовите это маловероятным худшим случаем: уточните в своем посте, что является основой для сравнения.

2 Ответов

Рейтинг:
17

Richard MacCutchan

wordSize = @"C:\Users\Heather Jacobs\Desktop\Week 9/Quote.doc".Length;

Это даст вам количество символов в строке, а не размер файла. Взгляните на это FileInfo класс в .NET, как указано в ваших инструкциях:
Цитата:
Чтобы определить размер файлов , вы можете создать файл system.IO.FileInfo


OriginalGriff

Вы только что сказали ему RTFM/Q? :смех:

Richard MacCutchan

О да, хотя, возможно, это пустая трата времени.

Рейтинг:
11

OriginalGriff

Цитата:
Он не подключается к файлам, а затем читает и говорит мне, каков размер файлов. Я думал, что он сообщит мне размер каждого файла и соотношение для них. Я не вижу, что я делаю неправильно, чтобы это не сработало?

Начните с проверки путей к файлам - они не совпадают, и один из них, скорее всего, ошибочен:
const string WORD_FILE = @"C:\Users\Heather \Desktop\Week 9/Quote.doc";
const string NOTEPAD_FILE = @"C:\Users\Heather\Desktop\Week 9/Quote.txt";
Помните, пробелы значимы в коде!
Если это не поможет исправить ситуацию, используйте отладчик, чтобы точно выяснить, что происходит: поместите точку останова в первую строку функции и запустите код через отладчик. Затем посмотрите на свой код и на свои данные и определите, что должно произойти вручную. Затем по одному шагу в каждой строке проверяйте, что то, что вы ожидали, произойдет именно так, как и произошло. Когда это не так, тогда у вас есть проблема, и вы можете вернуться назад (или запустить ее снова и посмотреть более внимательно), чтобы выяснить, почему.

Извините, но мы не можем сделать это для вас - у нас нет никакого доступа к вашей файловой системе - время для вас, чтобы изучить новый (и очень, очень полезный) навык: отладка!