第一个问题,读写文件的乱码问题要靠自己去解决了,因为别人不知道你的很多情况,
成都创新互联是一家集网站建设,嘉兴企业网站建设,嘉兴品牌网站建设,网站定制,嘉兴网站建设报价,网络营销,网络优化,嘉兴网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
比如说:txt1 txt2是怎么来的,是自己用写字板之类的编辑器保存的吗?用的是什么编码?GBK/UTF16……有没有用BOMS?
但不管你用什么编码保存,都是文本了,txt1文本是“10011”,保存在文件里可是:
31 30 30 31 31 这样的东西
就不应该用binary方式打开,应该删除 for binary
第二个问题,用文本方式打开读到的是"10011",你的本意是二进制数据,而不是1万零十一,要做一次转换,把二进制的字符串转成十进制的整型integer,在VB6里要自己整一个函数来作转换,VB.NET应该比较简单点。
先读取一个字符串,转换一下,才能放到integer类型的s1/s2中。
第三个问题,s3不应该是integer类型,integer类型是十进制的,就算前面的步骤对了也不会显示你想要的二进制字符串,s3应该是字符串类型。
两数相加的和是一个十进制数,要把它表现成二进制字符串,还得作一次转换,也要自己整一个函数作转换,要动点脑筋了,VB.NET应该比较简单点。
从这个问题,可以看出,当要用VB去解决一些问题的时候,就并不像平时教科书上的例子的那么简洁方便好用了,还不如直接用C来得干脆。
我不用Basic很多年~~~~
用System.IO.File中的静态函数AppendText获得一个StreamWriter,然后用Write或WriteLine函数写入一些字符串,最后写入流并关闭它。
Dim sw As StreamWriter = System.IO.File.AppendText("textfile.txt")
Using sw
sw.Write("This is ") '仅写入字符串
sw.WriteLine("line 1.") '写入字符串并自动写入换行符
sw.Flush() '写入流
End Using '这里释放了资源
vb.netme.containskey方法
作用是判断Map中是否有所需要的键值,下面是具体的代码:
复制代码
public static void main(String[] args) {
MapString, String map = new HashMapString, String();
map.put("sf2", "111111");
map.put("s3f", "111111");
map.put("s4f", "111111");
map.put("s5f", "111111");
Boolean is = map.containsKey("f2");
if(is){
System.out.println("是有这个值的");
}else{
System.out.println("没有的");
}
VB.NET打开二进制文件用fileopen完成,打开二进制文件的形式为:openmode.binary
读取二进制文件用的是fileget方法,写入二进制文件用的是fileput方法。
应用示例:将一批随机数保存在一个dat文件中,然后再将其提取到文本框中。
二进制文件的读写一批随机数的存取,程序为:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim x, i, fn As Integer
Dim s As String = ""
fn = FreeFile()
FileOpen(fn, "d:\data.dat", OpenMode.Binary)
For i = 1 To 8
x = Int(Rnd() * 100)
s = s + Str(x)
FilePut(fn, x)
Next
FileClose(fn)
TextBox1.Text = s
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim x, fn As Integer
Dim s As String = ""
fn = FreeFile()
FileOpen(fn, "d:\data.dat", OpenMode.Binary)
Do While Not EOF(fn)
FileGet(fn, x)
s = s + Str(x) + " "
Loop
FileClose(fn)
TextBox1.Text = s
End Sub