using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace Delimitador
{
class Program
{
static void Main(string[] args)
{
string camIni;
string camFin;
Console.WriteLine("Insira o caminho do txt de entrada:");
camIni = Console.ReadLine();
Console.WriteLine("Insira o caminho onde o txt modificado deve ser criado:");
camFin = Console.ReadLine();
string texto = System.IO.File.ReadAllText(@camIni); //Lê o txt como uma única string
StringBuilder delimitado = new StringBuilder(); //Cria a string manipulável onde o txt será alterado
delimitado.Append(texto); //Copia a string fixa para a manipulável
delimitado[0] = ';'; //cria divisões para que a primeira linha fique no mesmo padrão que as debaixo
delimitado[1] = ';';
int j, k, l, m; //contadores
for (int i = 0; i < texto.Length - 3; i++) //percorre a string
{
j = i + 1;
k = j + 1;
l = k + 1;
m = l + 1;
if (texto[i] != ' ' && texto[j] == ' ' && texto[k] == ' ' && texto[l] == ' ')//"coloca" o delimitador quando há 3 espaços consecutivos
{
delimitado[j] = ';';
}
if (texto[i] == '\n')//troca a quebra de linha por um delimitador
{
delimitado[i] = ';';
}
}
StreamWriter txtdelim = new StreamWriter(camFin, true, Encoding.Unicode);//cria o txt que recebe a string alterada
txtdelim.Write(delimitado);//preenche o txt
txtdelim.Close();//salva o arquivo
System.Console.WriteLine("Arquivo original:\n{0}", texto);//mostra o txt original na tela
System.Console.WriteLine("Arquivo modificado:\n{0}", delimitado);//mostra o txt alterado na tela
Console.WriteLine("Pressione qualquer tecla para sair.");//avisa como sair e mantém a tela aberta
System.Console.ReadKey();
}
}
}
Nenhum comentário:
Postar um comentário