2016-03-22 18 views
-1

Bu StackoverflowC# nasıl başka bir rasgele biçime (.rjb) herhangi bir dosyaya dönüştürmek ve özgün biçimde kurtarmak için?

benim ilk soru

Ben dönüştürmek için çalışıyorum bazı dosyaları (.txt, .mp3, .mp4, .pdf, .png .exe gibi) bir biçim .rjb bir klasörde, benim tarafımdan oluşturuldu. Ve ayrıca orijinal dosyaları .rjb dosyalarından kurtarmak istiyorum. Ama .txt dosyaları dışındaki tüm dosyalar bozulur. Bunu başarmak için lütfen bana yardım edin. Aşağıdaki kod kullanıyorum.

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Drawing.Imaging; 
using System.IO; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace rjbformat 
{ 
public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     if (textBox1.Text != "") 
     { 
      try 
      { 


       //string data = Convert.ToString(File.ReadAllBytes(textBox1.Text)); 
       // string datas = File.ReadAllText(textBox1.Text); 
       //string dat = File.ReadAllText(textBox1.Text, Encoding.ASCII); 
       //var dataS = Convert.ToString(datas); 



       using (StreamWriter sw = new StreamWriter(textBox1.Text + ".rjb")) 
       { 
        sw.Write(textBox3.Text); 
       } 


      } 
      catch (Exception) 
      { 
       MessageBox.Show("Specified Input file DOESNOT EXIST!", "Error", MessageBoxButtons.OK, 
        MessageBoxIcon.Error); 
       //throw; 
      } 
     } 
     else 
     { 
      MessageBox.Show("Please select Input file"); 
     } 
    } 

    private void button2_Click(object sender, EventArgs e) 
    { 
     openFileDialog1.Title = "Open Text File (Rajib)"; 
     openFileDialog1.Filter = "Text Files(*.txt;*.cod;*.ubc)|*.txt;*.cod;*.ubc"; 
     openFileDialog1.Filter = "All Files(*.*)|*.*"; 
     if (openFileDialog1.ShowDialog() == DialogResult.OK) 
     { 
      textBox1.Text = openFileDialog1.FileName; 
      textBox2.Text = openFileDialog1.FileName + ".rjb"; 
      File.Copy(textBox1.Text, textBox2.Text,true); 
FileAccess.ReadWrite.ToString(textBox1.Text); 


      var lines = File.ReadAllLines(textBox1.Text); 
     /* foreach (string line in lines) 
      { 
       textBox3.Text += line+"\r\n"; 
      }*/ 

      File.AppendAllLines(textBox2.Text, lines); 


    //  FileStream fs = new FileStream(textBox1.Text, FileMode.Open); 
     //  int hexIn; 
     //  String hex = ""; 

    //  for (int i = 0; i<50/*(hexIn = fs.ReadByte()) != -1*/; i++) 
     //  { 
     //  hex = string.Format("{0:X2}", fs.ReadByte()); 
      //  // int bina = fs.ReadByte(); 
      // textBox3.Text += hex; 
      //} 


     } 
    } 
} 

} 
+0

Bu yeni biçime nasıl dönüştürdüğünüzü açıklamanız gerekir. Ve bu biçim nedir? Sorunuzdan biraz tuhaf ve tekdüzey görünüyor. – Alex

+1

Metin dosya araçları –

cevap

1

Eğer .rjb biçime bir veya daha fazla dosya depolama ve bozulmamış onları geri almak istiyorum edilir yapıyoruz tüm bu arşiv dosyaları oluşturma gibi bir çok geliyor edin. Bu durumda, sadece standart bir zip dosyası kullanmayı ve uzantıyı özelleştirmeyi düşünebilirsiniz. Sen projenize System.IO.Compression.FileSystem bir başvuru eklemeniz gerekecektir

using System.IO.Compression; 

namespace CustomZip 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string startPath = @"c:\example\start"; 
      string zipPath = @"c:\example\result.rjb"; 
      string extractPath = @"c:\example\extract"; 

      ZipFile.CreateFromDirectory(startPath, zipPath); 

      ZipFile.ExtractToDirectory(zipPath, extractPath); 
     } 
    } 
} 

:

İşte ZipArchive sınıfını kullanan bir örnek.

+0

ile ikili dosyaları okuyor gibi görünüyor Çok dijitalnoiz teşekkürler, bir şey istiyorum istiyorum .zip ama tam olarak değil çünkü, herhangi biri tarafından sıkıştırılmış olabilir ve veri özel (korumalı) artık olmayacak şifre korumalı değilse! & Çok sayıda dosya için çok fazla şifre hatırlamak da uygun değildir. Bu yüzden, dosyaların tasarlandığı orijinal formatta özel olarak tasarlanmış bir program tarafından açılacak bir dosya formatı (.rjb) istiyorum. Öyleyse, nasıl başarılabileceğini bana yönlendir. Tekrar teşekkürler. :) –

İlgili konular