「超长文本存储Java」数据库存储长文本
本篇文章给大家谈谈超长文本存储Java,以及数据库存储长文本对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、如何用java向数据库中存储大量文字
- 2、java怎么存储 长字符串,比如一篇文章
- 3、java如何存储巨大的数字比如100!
- 4、java 引入超长的文本文件并进行编辑,求思路
- 5、如何在java里长期存储数据 不要数据库的那种
如何用java向数据库中存储大量文字
你把数据库的一个表中的一个字段设置为“备注(TEXT)”类型,就可以存放大量的内容了。
这与
java本身没有什么关系。
主要是数据库的结构设计问题。
用java读取和写入的方法其实
没有什么特别
的,
rs.getString("...");
java怎么存储 长字符串,比如一篇文章
比较大的数据一般会存到令外的媒介。然后通过JAVA调用的方式来取得。
常见的有:
1流文件(文本文件,XML文件,PDF)
2数据库存储
java如何存储巨大的数字比如100!
存储100的阶乘,这种超大数字,java 还是提供了一些类的比如
1: 使用BigInteger或者 BigDecimal...
import java.math.BigDecimal;
import java.math.BigInteger;
// 测试类
public class Demo {
public static void main(String[] args) {
BigDecimal s1 = jieCheng(100);//BigDecimal存100的阶乘还是没有问题的
BigInteger bi=s1.toBigInteger();//BigInteger存100的阶乘也可以
System.out.println(bi);
System.out.println(s1);
}
public static BigDecimal jieCheng(int num) {
BigDecimal sum = new BigDecimal("1");
if (num 0) {
throw new IllegalArgumentException("参数不能为负!");
}
for (int i = 1; i = num; i++) {
sum =sum.multiply(new BigDecimal(i));//循环进行累乘
}
return sum;// 返回结果字符串
}
}
如果是BigDecimal都处理不了超大数字, 那么可以使用String来存储
String str ="123...";//这种方式,是明文写入代码的,字符串长度不能太长.
所以太长的文本应该写入字符串文本中. 使用的时候使用IO进行读取
java 引入超长的文本文件并进行编辑,求思路
如果只是你的文件只是存储字符的话,可以用缓冲字符流来读取,这样更高效。
import java.io.IOException;
import java.io.Reader;
/*
* 模拟一个缓冲区
* 基于已有的缓冲区思想,我们可以从源读取用read方法。
* 我们的缓冲区,应该是一个更高效的read读取方法。
*/
public class MyBufferTest extends Reader{
privateReader r;
privatechar[] buf = new char[1024];
privateint count = 0,pos = 0;
publicMyBufferTest(Reader r){
this.r = r;
}
/**
* 一次从缓冲区中取一个
* @return 返回一个缓冲区中的字符
* @throws IOException
*/
publicint myRead() throws IOException {
//1,首先判断缓冲区中是否有数据,如果没有就从源中去拿。
if(count == 0){
count= r.read(buf);
pos= 0;
}
//2,当缓冲区中没数据了且源中也没有数据时,count自减1小于0时就返回-1结束.
if(count 0)
return-1;
//3,如果以上都不满足,那么从缓冲区中写入一个字符到新的文件中。
char ch = buf[pos];
pos++;
count--;
return ch;
}
/**
* 按照文本特点,提供一个特有的操作文本的方法。
* 一次读取一行文本,只要是到行结束符之前的文本即可。
* @return 返回读取到的一行文本
* @throws IOException
* 原理:
* 就是从缓冲区中取出数据,并存储到一个临时容器中。
* 如果取到了回车符,就将临时容器中的数据转成字符串返回。
*/
publicString myReadLine() throws IOException{
//1,定义一个临时容器,进行临时存储
StringBuilder sb = new StringBuilder();
//2,定义一个变量,接收读取到的字符,也就是转成ask码表后的一个int型数字
int ch = 0;
while((ch = myRead()) != -1){
//3,当读取到\r时,直接跳出本次循环
if(ch== '\r')
continue;
//4,当读取到\n时,直接跳出当前循环
if(ch== '\n')
return sb.toString();
//5,当都没有读取到时,就将这些数据存储到临时容器中。
sb.append((char)ch);
}
//6,当临时容器中的长度不等于0时,就输出字符。
if(sb.length() != 0)
returnsb.toString();
return null;
}
@Override
publicvoid close() throws IOException {
}
@Override
publicint read(char[] arg0, int arg1, int arg2) throws IOException {
return 0;
}
}
如何在java里长期存储数据 不要数据库的那种
长期存储数据,即把数据(如内存中的)保存到可永久保存的存储设备中(如硬盘、U盘),也就是人们常说的持久化。
常用持久化的方案有数据库、XML文件和文件存储。
数据库是按照数据结构来存储和管理数据的仓库,后文不再做详细介绍。
XML是可扩展标记语言,最早是为了简化Internet的文档数据传输,它提供统一的语法格式来描述数据的结构,通常XML文件用于一些少量且无特殊类型要求的文本存储。示例代码使用W3C标准的接口生成XML:
import java.io.FileOutputStream;
import java.io.PrintWriter;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
public class $ {
public static void main(String[] args) throws Exception {
Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
//创建根节点为students的XML文件
Element students = document.createElement("students");
document.appendChild(students);
//在根节点下创建一个子节点学生
Element student = document.createElement("student");
students.appendChild(student);
//创建节点学生姓名,值为张三
Element name = document.createElement("name");
name.appendChild(document.createTextNode("张三"));
student.appendChild(name);
//创建节点学生年龄,值为18
Element age = document.createElement("age");
age.appendChild(document.createTextNode("18"));
student.appendChild(age);
//创建节点学生编号,值为150101
Element number = document.createElement("number");
number.appendChild(document.createTextNode("150101"));
student.appendChild(number);
//在根节点下创建第二个子节点学生
student = document.createElement("student");
students.appendChild(student);
//创建节点学生姓名,值为李四
name = document.createElement("name");
name.appendChild(document.createTextNode("李四"));
student.appendChild(name);
//创建节点学生年龄,值为20
age = document.createElement("age");
age.appendChild(document.createTextNode("20"));
student.appendChild(age);
//创建节点学生编号,值为150102
number = document.createElement("number");
number.appendChild(document.createTextNode("150102"));
student.appendChild(number);
//将XML文件保存到硬盘
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
PrintWriter writer = new PrintWriter(new FileOutputStream("/home/test.xml"));
transformer.transform(new DOMSource(document), new StreamResult(writer));
}
}
无论是数据库还是XML文件,它们都使用了能让数据快速方便进出的标准规范。其它文件如propeties、json,都可以使用类似XML的方式来打包数据,然后通过Java丰富的io流接口保存到磁盘中。
关于超长文本存储Java和数据库存储长文本的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。