导航:首页 > 数据分析 > java怎么保存数据

java怎么保存数据

发布时间:2023-06-06 16:19:44

1. java里数据怎么保存到硬盘或TXT文件里去

Java是通过使用I/O文件操作类,创建输入输出流,将数据保存在指定的路径下的文件里面。
示例代码
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class WriteFileTest {
public static void main(String[] args) {
FileOutputStream fop = null;
File file;
String content = "This is the text content";
try {
file = new File("D:/test.txt");//初始化file
fop = new FileOutputStream(file);//初始化输出流
// 若文件不存在,则创建它
if (!file.exists()) {
file.createNewFile();
}
// 获取字节的内容数组
byte[] contentInBytes = content.getBytes();
fop.write(contentInBytes);//写出到指定路径文件中字节的内容数组
fop.flush();
fop.close();
System.out.println("Done");
} catch (IOException e) { //捕捉异常
e.printStackTrace();
} finally {
try {
if (fop != null) {
fop.close();
}
} catch (IOException e) { //捕捉异常
e.printStackTrace();
}
}
}
}

2. java怎么将数据库的数据做缓存,方便查找(java实现数据保存到数据库)

你要实现的这个可能跟SpringMvc的关系不是很大。

你要达到的目的其实就是在jvm启动的时候把数据库数据加载一份到内存,一个静态变量和一个静态初始化块就可以搞唯雀定你的问题,这两者都是在类加载的时候指孝早初始化一次,像前面回答的一样,你可以用一个HashMap搞定。稍微具体来说,一个静态变量

publicstaticfinalMapcache=newHashMap()

static{

cache=请求数据库操作

}

key你自己加,String还是int都行,value是你数据库的结构,可以写个实体。获取的时候直接cache.get(key)就可以了。

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

将数据查询出来放在list中,然后写入文件。

给你个写入的类,查询数据自己如果能搞定最好了。

FileWriterfileWriter=newFileWriter("c:Result.txt");

int[]a=newint[]{11112,222,333,444,555,666};

for(inti=0;i

fileWriter.write(String.valueOf(a[i])"");

}

fileWriter.flush();

fileWriter.close();

上面例子中慎巧的a也可以是list。

3. 在java中如何将数组里的数据存入数据库呢

保存字节数组到数据库分两步:
第一、利用FileInputStream.read(byte[])方法把内容读取到byte[]数组中,比如图版片是由二进制数权组成的,就可以定义为一个字节数组。
第二、在数据库中对应记录字段应该设置为blob类型,这样就能够顺利保存了
事例代码如下:
PreparedStatement stmt = connection.generatePreparedStatement("INSERT INTO ... ");
stmt.setBytes(1, yourByteArray);

其中,yourByteArray是你读出来的字符数组。

4. java怎样将数据保存到缓存中,之后再保存

Java中可以使用队列来保存数据,当使用的时候,加上锁,防止其他进程访问,当不用的时候保存到数据库里面,示例如下:

packagecom.henry;
importjava.util.HashMap;
importjava.util.Map;
importjava.util.Random;
importjava.util.concurrent.locks.ReadWriteLock;
importjava.util.concurrent.locks.ReentrantReadWriteLock;

publicclassCacheDataTest{
staticMap<Integer,Object>dataMap=newHashMap<Integer,Object>();
staticReadWriteLocklock=newReentrantReadWriteLock();//创建读写锁的实例
staticObjectgetData(Integerkey){
lock.readLock().lock();//读取前先上锁
Objectval=null;
try{
val=dataMap.get(key);
if(val==null){
//
lock.readLock().unlock();
lock.writeLock().lock();
try{
//可能已经由其他线程写入数据
if(val==null){
//dataMap.put(key,"");//queryfromdb
val=queryDataFromDB(key);
}
}finally{
//
lock.readLock().lock();
//Unlockwrite,stillholdread
lock.writeLock().unlock();
}
}
}finally{
lock.readLock().unlock();//最后一定不要忘记释放锁
}
System.out.println("getdatakey="+key+">val="+val);
returnval;
}

staticObjectqueryDataFromDB(Integerkey){
Objectval=newRandom().nextInt(1000);
dataMap.put(key,val);
System.out.println("writeintodatakey="+key+">val="+val);
returnval;
}

publicstaticvoidmain(String[]args){
for(inti=0;i<10;i++){
newThread(newRunnable(){publicvoidrun(){
getData(newRandom().nextInt(5));
}}).start();
}
}
}

5. java 怎么把数据存到内存中

这里你采纳与否没关系,给你说说编程与内存的关系。
你定义的任何变量,常量,类,方法等等,其实都在内存中,没有所谓的把数据存内存中,这概念,你可以想一下电脑重启或关机后,内存中的所有数据,都会丢失,除非你保存到磁盘中去。
在内存中的数据有两块,第一、缓冲,一般写数据到磁盘的时候开辟出来的内存空间;第二、缓存,一般是从磁盘读数据到内存中开辟出来的内存空间。会这么使用,原因很简单,磁盘读写数据速度与内存不一致(磁盘的存取效率远远小于内存的存取效率),为了提高数据的存取效率,才会这么干的。
一般而言,java中的所谓数据,大部分都是类,从自动引用计数的概念来分析,你想把对象长久的放在内存中,不会被垃圾回收机制释放,注意制药有一个对象在使用/引用你的数据,这条数据就会存在内存中。所以,想servlet中的全局配置参数,随时可以取到还是唯一一份,你可以参考一下。
另外内存使用分堆与栈,堆在面向对象编程中存储对象的,栈是方法或函数执行的时候临时开辟的存储空间,方法或函数执行完毕就会释放。
希望我的回复能帮助到你,采纳与否没关系。有更好的答案,我就隐藏我的回复。

6. 如何在java里长期存储数据 不要数据库的那种

长期存储数据,即把数据(如内存中的)保存到可永久保存的存储设备中(如硬盘、U盘),也就是人们常说的持久化。

常用持久化的方案有数据库、XML文件和文件存储。

数据库是按照数据结构来存储和管理数据的仓库,后文不再做详细介绍。

XML是可扩展标记语言,最早是为了简化Internet的文档数据传输,它提供统一的语法格式来描述数据的结构,通常XML文件用于一些少量且无特殊类型要求的文本存储。示例代码使用W3C标准的接口生成XML:

importjava.io.FileOutputStream;
importjava.io.PrintWriter;

importjavax.xml.parsers.DocumentBuilderFactory;
importjavax.xml.transform.OutputKeys;
importjavax.xml.transform.Transformer;
importjavax.xml.transform.TransformerFactory;
importjavax.xml.transform.dom.DOMSource;
importjavax.xml.transform.stream.StreamResult;

importorg.w3c.dom.Document;
importorg.w3c.dom.Element;

publicclass${
publicstaticvoidmain(String[]args)throwsException{
Documentdocument=DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
//创建根节点为students的XML文件
Elementstudents=document.createElement("students");
document.appendChild(students);

//在根节点下创建一个子节点学生
Elementstudent=document.createElement("student");
students.appendChild(student);
//创建节点学生姓名,值为张三
Elementname=document.createElement("name");
name.appendChild(document.createTextNode("张三"));
student.appendChild(name);
//创建节点学生年龄,值为18
Elementage=document.createElement("age");
age.appendChild(document.createTextNode("18"));
student.appendChild(age);
//创建节点学生编号,值为150101
Elementnumber=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文件保存到硬盘
Transformertransformer=TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.ENCODING,"utf-8");
transformer.setOutputProperty(OutputKeys.INDENT,"yes");
PrintWriterwriter=newPrintWriter(newFileOutputStream("/home/test.xml"));
transformer.transform(newDOMSource(document),newStreamResult(writer));
}
}

无论是数据库还是XML文件,它们都使用了能让数据快速方便进出的标准规范。其它文件如propeties、json,都可以使用类似XML的方式来打包数据,然后通过Java丰富的io流接口保存到磁盘中。

阅读全文

与java怎么保存数据相关的资料

热点内容
列表文件存储路径 浏览:540
qq游戏大厅自动出语音 浏览:598
编程只是兴趣怎么办 浏览:223
荣耀6plus电信版本 浏览:584
能打开word文件但桌面上找不到 浏览:366
2020十大网络红歌有哪些 浏览:843
手机系统空间文件夹在哪里设置快捷键 浏览:309
通信网络中的b8什么意思 浏览:715
桌面文件标题 浏览:228
优淘集市有什么app 浏览:747
找不到收藏文件 浏览:711
战狼2在什么网站 浏览:785
vb修改word 浏览:650
c盘分页文件 浏览:277
ipad如何互相传输数据 浏览:567
我的世界如何用积木编程大师复制方块 浏览:638
进网站请求路径未找到是怎么回事 浏览:807
spss21教程 浏览:655
css商业网站布局之道pdf 浏览:892
c盘不能新建文件夹win10 浏览:384

友情链接