「java如何存储长文本」java怎么存储数据

博主:adminadmin 2023-03-19 12:26:06 694

今天给各位分享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如何存储长文本的信息别忘了在本站进行查找喔。