我正在做一个ftp项目,它会做多次上传,我正在做的过程是压缩文件然后加密,然后切成几块并发送给服务器,我将所有这些东西分配给thread.likewise线程将在那里为我分配的每个文件。线程问题
这是新的代码块,它只有一个功能,在这里出现了同样的错误 也请帮我找出什么是错在这里
public partial class Form1 : Form
{ ArrayList的AscendingList =新的ArrayList(); ListViewItem Litem = null; 线程MyThread = null; ThreadStart Starter = null;
public Form1()
{
InitializeComponent();
}
private void btn_split_Click(object sender, EventArgs e)
{
foreach (ListViewItem litem in listView1.Items)
{
Starter = delegate { SplitFile(litem.Text,litem.SubItems[1].Text,int.Parse(litem.SubItems[2].Text)); };
MyThread = new Thread(Starter);
MyThread.IsBackground = true;
MyThread.Start();
}
}
public void SplitFile(string inputFile, string outputPrefix, int chunkSize)
{
int pointr = 0;
byte[] buffer = new byte[chunkSize];
using (FileStream fs = new FileStream(inputFile, FileMode.Open, FileAccess.Read, FileShare.None))
{
int index = 0;
pointr = fs.Read(buffer, 0, buffer.Length);
while (pointr != 0)
{
using (FileStream fso = new FileStream(outputPrefix + "\\" + index + ".log", FileMode.Create))
{
AscendingList.Add(fso.Name);
fso.Write(buffer, 0, pointr);
pointr = fs.Read(buffer, 0, buffer.Length);
}
index++;
}
}
}
private void button1_Click(object sender, EventArgs e)
{
Litem = new ListViewItem();
Litem.Text = "E:\\butterfly.mpg";
Litem.SubItems.Add("H:\\karthik");
Litem.SubItems.Add("102400");
listView1.Items.Add(Litem);
}
private void button2_Click(object sender, EventArgs e)
{
Litem = new ListViewItem();
Litem.Text = "E:\\karthik.mpeg";
Litem.SubItems.Add("H:\\karthik\\karthik");
Litem.SubItems.Add("102400");
listView1.Items.Add(Litem);
}
}
请修复格式。 – Yogesh 2009-11-04 05:44:46
您能提供异常消息和堆栈跟踪吗? – Jehof 2009-11-11 09:14:24
请使用'Path.Combine()'! – knoopx 2009-11-15 22:32:43