Advertisement
Guest User

Untitled

a guest
Jan 18th, 2020
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.90 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3. using System.Text;
  4.  
  5. namespace Fixing_Subtitles
  6. {
  7.     class Program
  8.     {
  9.         const double COEFFICIENT = 1.05;
  10.         const int ADDITION = 5000;
  11.         const string INPUT_FILE = @"../../../source.txt";
  12.         const string OUTPUT_FILE = @"../../../fixed.txt";        
  13.  
  14.         static void Main(string[] args)
  15.         {
  16.             try
  17.             {                
  18.                 Encoding encoding = Encoding.GetEncoding("windows-1251");
  19.  
  20.                 StreamReader reader = new StreamReader(INPUT_FILE, encoding);
  21.                 StreamWriter writer = new StreamWriter(OUTPUT_FILE, false, encoding);
  22.  
  23.                 using (reader)
  24.                 {
  25.                     using (writer)
  26.                     {
  27.                         string line;
  28.  
  29.                         while ((line = reader.ReadLine()) != null)
  30.                         {
  31.                             writer.WriteLine(FixLine(line));
  32.                         }
  33.                     }
  34.                 }
  35.             }
  36.             catch (IOException ex)
  37.             {
  38.                 Console.WriteLine("Error: " + ex.Message);
  39.             }
  40.  
  41.             Console.ReadKey();
  42.         }
  43.  
  44.         static string FixLine(string line)
  45.         {
  46.             int bracketFromIndex = line.IndexOf("}");
  47.             string startTime = line.Substring(1, bracketFromIndex - 1);
  48.             int newStartTime = (int)(Convert.ToInt32(startTime) * COEFFICIENT + ADDITION);
  49.  
  50.             int bracketToIndex = line.IndexOf("}", bracketFromIndex + 1);
  51.             string endTime = line.Substring(bracketFromIndex + 2, bracketToIndex - bracketFromIndex - 2);
  52.             int newEndTime = (int)(Convert.ToInt32(endTime) * COEFFICIENT + ADDITION);
  53.  
  54.             string fixedLine = "{" + newStartTime + "}" + "{" + newEndTime + "}" + line.Substring(bracketToIndex + 1);
  55.             return fixedLine;
  56.         }
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement