2、一次读取的内容越大,直接读文件的优势会越明显(读文件时间都是小幅增长,这跟文件存储的连续性和簇大小等有关系),这个结果恰恰跟天缘预料的相反,说明MYSQL对更大文件读取可能又附加了某些 *** 作(两次时间增长了近30%),如果只是单纯的赋值转换应该是差异偏小才对。
3、写文件和INSERT几乎不用测试就可以推测出,数据库效率只会更差。
4、很小的配置文件如果不需要使用到数据库特性,更加适合放到独立文件里存取,无需单独创建数据表或记录,很大的文件比如图片、音乐等采用文件存储更为方便,只把路径或缩略图等索引信息放到数据库里更合理一些。
5、PHP上如果只是读文件,file_get_contents比fopen、fclose更有效率,不包括判断存在这个函数时间会少3秒左右。
6、fetch_row和fetch_object应该是从fetch_array转换而来的,我没看过PHP的源码,单从执行上就可以说明fetch_array效率更高,这跟网上的说法似乎相反。
不知道你要什么样的文本,文本中的内容是否是有格式的:
这里提供下思路,供参考:
1.文本文件,基本上式字符格式的了,可以用Reader io流
2.如果是格式化的文本,可以按数据的长度读取, readInt readByte...
3.保存到数据库 当然用JDBC了,如果你读取出来封装成POJO了,也可以选择 OM框架
import java.io.BufferedReader
import java.io.FileInputStream
import java.io.IOException
import java.io.InputStreamReader
/**
* 文件读取和写入数据库
* @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=bufRead.readLine())!=null){
content+=str+"\r\n"
}
}catch(IOException ioe){
ioe.printStackTrace()
}
return content
}
/**
* 将特定字符写入数据库中(原来我写的是重写文件,你这里这里将content写入数据库就OK)
* @param path
* @return
*/
public boolean writeFile(String content){
try{
//数据库写入代码
}catch(Exception e){
out.close()
return false
}
return true
}
public static void main(String[] args) {
String content=new FilesReader().re_content("D:\\AJAX.htm")
new FilesReader().writeFile(content)
}
}
写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂!
[java] view plain copypackage 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()
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)