java如何从数据库读取数据并写入txt文件?

java如何从数据库读取数据并写入txt文件?,第1张

写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂!

[java] view plain copy

package edu.thu.keyword.test  

  

import java.io.File  

import java.io.InputStreamReader  

import java.io.BufferedReader  

import java.io.BufferedWriter  

import java.io.FileInputStream  

import java.io.FileWriter  

  

public class cin_txt {  

    static void main(String args[]) {  

        try { // 防止文件建立或读取失败,用catch捕捉错误并打印,也可以throw  

  

            /* 读入TXT文件 */  

            String pathname = "D:\\twitter\\13_9_6\\dataset\\en\\input.txt" // 绝对路径或相对路径都可以,这里是绝对路径,写入文件时演示相对路径  

            File filename = new File(pathname) // 要读取以上路径的input。txt文件  

            InputStreamReader reader = new InputStreamReader(  

                    new FileInputStream(filename)) // 建立一个输入流对象reader  

            BufferedReader br = new BufferedReader(reader) // 建立一个对象,它把文件内容转成计算机能读懂的语言  

            String line = ""  

            line = br.readLine()  

            while (line != null) {  

                line = br.readLine() // 一次读入一行数据  

            }  

  

            /* 写入Txt文件 */  

            File writename = new File(".\\result\\en\\output.txt") // 相对路径,如果没有则要建立一个新的output。txt文件  

            writename.createNewFile() // 创建新文件  

            BufferedWriter out = new BufferedWriter(new FileWriter(writename))  

            out.write("我会写入文件啦\r\n") // \r\n即为换行  

            out.flush() // 把缓存区内容压入文件  

            out.close() // 最后记得关闭文件  

  

        } catch (Exception e) {  

            e.printStackTrace()  

        }  

    }  

}

下面我们将示例一个图片文件读取存储至数据库并从数据库中读取图片信息并显示的案例:

1、首先读取硬盘上的某一具体图片文件,读取模式设置为readBinary方式:

<cffile

action

=

"readBinary"

file

=

"temp

directory

here#file.serverFile#"

variable

=

"test">

2、将读取出来的二进制内容存储至数据库中(注:数据库字段需设置成能存储图片类型的字段,如blob类型):

<cfquery

datasource

=

"datasource">

insert

into

imageTest

values

(<cfqueryparam

cfsqltype="cf_sql_blob"

value="#test#">)

</cfquery>

通过1、2两个步骤,我们轻松实现了读取图片文件并存储至数据库的 *** 作过程。

3、从数据库中读取图片信息,该文件可命名为dispImage.cfm:

<!---

在此需特别注意enablecfoutputonly的压缩空白功能,如果不对该页面进行空白压缩,很可能会造成图片无法显示的问题

--->

<cfprocessingdirective

suppressWhiteSpace="yes">

<cfsetting

enablecfoutputonly="yes">

<!---

读取相应的图片信息

--->

<cfquery

datasource

=

"datasource">

select

image

from

imageTest

where

variable

here#

</cfquery>

<!---

设置浏览器输出的格式,我们将它设置为图片的JPG类型,用户可根据实际情况改动类型设置

--->

<cfcontent

type="image/jpg">

<!---

输出图片

--->

<cfoutput>#toString(imageTest.image)#</cfoutput>

</cfprocessingdirective>

<cfabort>

4、显示图片内容,调用dispImage.cfm页面:

<img

src

=

"dispImage.cfm?id=your

variable

here">

通过3、4两个步骤,我们也很容易的就完成了从数据库中读取图片信息并在页面显示的功能。

总结:实际上,除了图片文件可以如此处理,其它的文件也能通过类似方式进行处理,可将任意文件类型存储至数据库,只是文件大小的原因以及数据库存储读取速度性能限制,我们基本上还是不建议将文件存储至数据库,毕竟硬盘读取要快得多。


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

原文地址:https://54852.com/sjk/9931033.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存