关于写文件遇到的问题:

eloneme 2005-06-22 04:45:07
关于写文件遇到的问题:
采用两种写文件的方式,得到的结果不一致.盼各位指点一二!

二者的比较:
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 {
}
}
]
}
]
}

***********************************************************************************


...全文
116 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
eloneme 2005-06-24
  • 打赏
  • 举报
回复
谢谢楼上,问题仍未解决
——————————————————————
renyu732(在学.net中...) :
请具体讲解一下。我的第二种方法是没问题的,所以我不明白参数有什么问题?
-----------------------——————————
yistudio(阳光灿烂的日子):
你这是C#的语法,按你的思路应该是改为: bwVRML.Write(dr.Item(0).ToString())
但是结果一样有符号◎。
eloneme 2005-06-23
  • 打赏
  • 举报
回复
顶一下,等高手....
yistudio 2005-06-23
  • 打赏
  • 举报
回复
将dr.GetString(0)换成dr[0].ToString()试试
renyu732 2005-06-23
  • 打赏
  • 举报
回复
参数问题.

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧