关于写文件遇到的问题:
关于写文件遇到的问题:
采用两种写文件的方式,得到的结果不一致.盼各位指点一二!
二者的比较:
1。如果使用的是给定的字符串二者都可以正确的写文件,
2。如果使用的是数据库中text类型的字段的值,结果是第一种方法在文件头会多加上一个◎的字符,第二种方法结果正确。
3.如果直接写字符串,如注释代码,两种方法结果都正确.
源码如下:
说明:
1.dr.GetString(0))为SQLDataReader读数据库表中text类型的字段的值
2.该字段的值是我通过JAVA applet写入数据库的,以字节的方式
方法1:
Dim fsVRML As FileStream
Dim bwVRML As BinaryWriter
Dim strVRMLfilepath As String
strVRMLfilepath = Server.MapPath("../AssemblyVrmlFile/temp.wrl")
'//第一种写文件的方法
fsVRML = New FileStream(strVRMLfilepath, FileMode.Create, FileAccess.Write)
bwVRML = New BinaryWriter(fsVRML)
bwVRML.Write(dr.GetString(0))
''Dim str As String = "#dasflkasdhfkjsd"
''bwVRML.Write(str)
bwVRML.Close()
方法2:
Dim fsVRML As FileStream
Dim bwVRML As BinaryWriter
Dim strVRMLfilepath As String
strVRMLfilepath = Server.MapPath("../AssemblyVrmlFile/temp.wrl")
''//另一种写文件的方式
Dim swVRML As StreamWriter
swVRML = New StreamWriter(strVRMLfilepath, False, System.Text.Encoding.Default, 512)
swVRML.WriteLine(dr.GetString(0))
''Dim str As String = "#dasflkasdhfkjsd"
''swVRML.WriteLine(Str)
swVRML.Close()
'********//
附JAVA写数据库的主要代码:
String strVRMLCode=(new VRMLExtractor(this.browser)).toString();
String strSQLUpdate =new String();
strSQLUpdate="UPDATE Part_TreeName SET VRMLCode='"+strVRMLCode+"' WHERE IsSelected=1";
Con_DB condb=new Con_DB(strSQLUpdate);
condb.SaveVrmlCode();
********************************************************************************************
数据库中的内容以String方式直接输出到页面的结果如下:
********************************************************************************************
#VRML V2.0 utf8
Group
{
children
[
Transform
{
center 0.0 0.0 0.0
children
[
TouchSensor
{
enabled TRUE
}
Shape
{
appearance
Appearance
{
material
Material
{
ambientIntensity 0.2
diffuseColor 0.8 0.8 0.40784314
emissiveColor 0.0 0.0 0.0
shininess 0.2
specularColor 0.0 0.0 0.0
transparency 0.0
}
}
geometry Box {
}
}
]
}
]
}
********************************************************************************************
第一种方法的结果(文件内容,写字板打开),多了一个◎符号,第二种方法的结果是无◎符号
********************************************************************************************
◎#VRML V2.0 utf8
Group
{
children
[
Transform
{
center 0.0 0.0 0.0
children
[
TouchSensor
{
enabled TRUE
}
Shape
{
appearance
Appearance
{
material
Material
{
ambientIntensity 0.2
diffuseColor 0.8 0.8 0.40784314
emissiveColor 0.0 0.0 0.0
shininess 0.2
specularColor 0.0 0.0 0.0
transparency 0.0
}
}
geometry Box {
}
}
]
}
]
}
***********************************************************************************