「java如何存储长文本」java怎么存储数据
今天给各位分享java如何存储长文本的知识,其中也会对java怎么存储数据进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
如何用java向数据库中存储大量文字
你把数据库的一个表中的一个字段设置为“备注(TEXT)”类型,就可以存放大量的内容了。
这与
java本身没有什么关系。
主要是数据库的结构设计问题。
用java读取和写入的方法其实
没有什么特别
的,
rs.getString("...");
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怎么存取文本数据
存数据:
首先,打开一个txt文件,File file = new File("文件路径");
然后,封装输出流,DataOutputStream os = new DataOutputStream(new FileOutputStream(file));
接着,往os里面写数据,os.writeInt(...) os.writeByte(...) os.writeChar(...)等等,你要写什么样类型的数据,就调用什么样类型的方法。
最后,记得关掉输出流,调用os.close()。
取数据:
java读取txt文件内容。可以作如下理解:
首先获得一个文件句柄。File file = new File(); file即为文件句柄。两人之间连通电话网络了。接下来可以开始打电话了。
通过这条线路读取甲方的信息:new FileInputStream(file) 目前这个信息已经读进来内存当中了。接下来需要解读成乙方可以理解的东西
既然你使用了FileInputStream()。那么对应的需要使用InputStreamReader()这个方法进行解读刚才装进来内存当中的数据
解读完成后要输出呀。那当然要转换成IO可以识别的数据呀。那就需要调用字节码读取的方法BufferedReader()。同时使用bufferedReader()的readline()方法读取txt文件中的每一行数据哈。
java如何存储长文本的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java怎么存储数据、java如何存储长文本的信息别忘了在本站进行查找喔。