能否用存储过程读取txt文件并将文件内容保存到数据库中

能否用存储过程读取txt文件并将文件内容保存到数据库中,第1张

1、使用streamreader得到txt文件中所有行;

2、你例举的数据后面有分号,那就截掉,如果没有,略过这一步;

3、使用空格分割得到的一行数据,得到每个属性对应的值;

4、连接数据库,将值按对应的属性存到对应的表中;

5、重复第2、3、4步,处理完所有的行,收工。

也可以得到的数据转为强类型列表,然后循环或遍历列表并保存到数据库;还可以处理完数据后再连接数据库,批量添加一次性全部搞定

基本就是这样,希望对你有帮助,有疑问请追问或是hi

不知道你要什么样的文本,文本中的内容是否是有格式的:

这里提供下思路,供参考:

1文本文件,基本上式字符格式的了,可以用Reader  io流

2如果是格式化的文本,可以按数据的长度读取,  readInt   readByte

3保存到数据库 当然用JDBC了,如果你读取出来封装成POJO了,也可以选择 OM框架

import javaioBufferedReader;

import javaioFileInputStream;

import javaioIOException;

import javaioInputStreamReader;

/

  文件读取和写入数据库

  @author  樊云升

 

 /

public class FilesReader {

public FilesReader(){

}

/

  读取文件内容

  @param FILE

  @return

 /

public String re_content(String FILE){

String content="";

 try{   

             BufferedReader bufRead=new BufferedReader(new InputStreamReader(new FileInputStream(FILE)));   

             String  str;   

             while((str=bufReadreadLine())!=null){   

               content+=str+"\r\n";   

             }

 }catch(IOException ioe){

   ioeprintStackTrace();

 }

return  content;

}

/

  将特定字符写入数据库中(原来我写的是重写文件,你这里这里将content写入数据库就OK)

  @param path

  @return

 /

public boolean writeFile(String content){

try{

//数据库写入代码

                     }catch(Exception e){

  outclose();

  return false;

 }

return true;

}

public static void main(String[] args) {

String content=new FilesReader()re_content("D:\\AJAXhtm");

                new FilesReader()writeFile(content);

}

}

通常对用户上传的需要保存到数据库中。解决方法一般有两种:一种是将保存的路径存储到数据库;另一种是将以二进制数据流的形式直接写入数据库字段中。以下为具体方法:

一、保存的上传路径到数据库:

string uppath="";//用于保存上传路径

//获取上传的文件名

string fileFullname = thisFileUpload1FileName;

//获取上传的时间,以时间作为的名字可以防止重名

string dataName = DateTimeNowToString("yyyyMMddhhmmss");

//获取的文件名(不含扩展名)

string fileName = fileFullnameSubstring(fileFullnameLastIndexOf("\\") + 1);

//获取扩展名

string type = fileFullnameSubstring(fileFullnameLastIndexOf("") + 1);

//判断是否为要求的格式

if (type == "bmp" || type == "jpg" || type == "jpeg" || type == "gif" || type == "JPG" || type == "JPEG" || type == "BMP" || type == "GIF")

{

//将上传到指定路径的文件夹

thisFileUpload1SaveAs(ServerMapPath("~/upload") + "\\" + dataName + "" + type);

//将路径保存到变量,将该变量的值保存到数据库相应字段即可

uppath = "~/upload/" + dataName + "" + type;

}

二、将以二进制数据流直接保存到数据库:

引用如下命名空间:

using SystemDrawing;

using SystemIO;

using SystemDataSqlClient;

设计数据库时,表中相应的字段类型为iamge

保存:

//路径

string strPath = thisFileUpload1PostedFileFileNameToString ();

//读取

FileStream fs = new SystemIOFileStream(strPath, FileModeOpen, FileAccessRead);

BinaryReader br = new BinaryReader(fs);

byte[] photo = brReadBytes((int)fsLength);

brClose();

fsClose();

//存入

SqlConnection myConn = new SqlConnection("Data Source=;Initial Catalog=stumanage;User ID=sa;Password=123");

string strComm = " INSERT INTO stuInfo(stuid,stuimage) VALUES(107,@photoBinary )";// *** 作数据库语句根据需要修改

SqlCommand myComm = new SqlCommand(strComm, myConn);

myCommParametersAdd("@photoBinary", SqlDbTypeBinary, photoLength);

myCommParameters["@photoBinary"]Value = photo;

myConnOpen();

if (myCommExecuteNonQuery() > 0)

{

thisLabel1Text = "ok";

}

myConnClose();

读取:

连接数据库字符串省略

myconOpen();

SqlCommand command = new

SqlCommand("select stuimage from stuInfo where stuid=107", mycon);//查询语句根据需要修改

byte[] image = (byte[])commandExecuteScalar ();

//指定从数据库读取出来的的保存路径及名字

string strPath = "~/Upload/zhangsanJPG";

string strPhotoPath = ServerMapPath(strPath);

//按上面的路径与名字保存文件

BinaryWriter bw = new BinaryWriter(FileOpen(strPhotoPath,FileModeOpenOrCreate));

bwWrite(image);

bwClose();

//显示

thisImage1ImageUrl = strPath;

采用俩种方式可以根据实际需求灵活选择。

以上就是关于能否用存储过程读取txt文件并将文件内容保存到数据库中全部的内容,包括:能否用存储过程读取txt文件并将文件内容保存到数据库中、读取文本文件中的内容存到数据库该怎么实现、如何将图片储存在MySQL数据库里等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10151004.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存