Java:如何在不进入数据库的情况下,将值存储在具有连续时间戳的变量中?
如何在数组变量中存储值,例如Java:如何在不进入数据库的情况下,将值存储在具有连续时间戳的变量中?,java,variables,time,timestamp,Java,Variables,Time,Timestamp,如何在数组变量中存储值,例如x。 在任何情况下,只要我们有x的值,或者没有x的值,我们就可以有一个时间。与实例1毫秒时一样,x的值为245,而在3毫秒时,x的值为300。 我如何在Java中做到这一点而不在数据库中使用或存储值?根据描述很难知道您在做什么,但是如果您的目的是存储一条智能信息(比如某个整数值),并使用相应的单调递增的值,例如以毫秒为单位的时间戳,您应该使用数据结构或对象来执行此操作。我经常把这样一个基本的数据块称为“原子” 如果您永远不需要比长整型关系更复杂的原子,那么可以使用某种
x
。
在任何情况下,只要我们有x
的值,或者没有x
的值,我们就可以有一个时间。与实例1毫秒时一样,x
的值为245,而在3毫秒时,x的值为300。我如何在Java中做到这一点而不在数据库中使用或存储值?根据描述很难知道您在做什么,但是如果您的目的是存储一条智能信息(比如某个整数值),并使用相应的单调递增的值,例如以毫秒为单位的时间戳,您应该使用数据结构或对象来执行此操作。我经常把这样一个基本的数据块称为“原子” 如果您永远不需要比长整型关系更复杂的原子,那么可以使用某种映射
如果你想让这个原子更复杂,你可能想创建你自己的对象。这种方法的好处在于,您可以构建错误处理(例如,时间不是单调增加的,或者明显的间隔)。在将这些数据持久化/缓存到某个存储区时,它还使操作变得更加简单,这样您就可以处理比内存大的数据集。最后一部分可能是您设计中最棘手的部分。@Arunroy根据我对可能问题的理解,我写了一个例子。它可能对您有所帮助,它有一个类,该类实现了一个可序列化的接口,该接口使该类可以序列化,换句话说,该类可以存储在一个文件中,然后被读取。这个过程称为序列化。该类创建一个文件并将该类存储在该文件中。然后通过反序列化过程,您可以读取它 守则:
package storage;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.sql.Timestamp;
public class MyValues{
public static void main(String[] args) {
java.util.Date date = new java.util.Date();
MyData d = new MyData(new Timestamp(date.getTime()));
System.out.println(""+d.tiempo);
serialize(d);
deSerialize();
}
public static boolean serialize(MyData a) {
try {
FileOutputStream fileOut
= new FileOutputStream("c:\\myfolder1\\mydata.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(a);
out.close();
fileOut.close();
System.out.printf("Serialized data is saved in c:\\myfolder1\\mydata.ser \n");
} catch (IOException i) {
i.printStackTrace();
}
return false;
}
public static void deSerialize() {
MyData a = null;
try {
FileInputStream fileIn = new FileInputStream("c:\\myfolder1\\employee.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
a = (MyData) in.readObject();
in.close();
fileIn.close();
} catch (IOException i) {
i.printStackTrace();
return;
} catch (ClassNotFoundException c) {
System.out.println("Employee class not found");
c.printStackTrace();
return;
}
System.out.println("Deserialized MyData...");
System.out.println("TimeStamp: " + a.tiempo);
return;
}
}
class MyData implements Serializable{
public Timestamp tiempo;
public MyData(Timestamp tiempo) {
this.tiempo = tiempo;
}
}
你需要更清楚一些。@AdrianLeonhard我正在存储麦克风输入的频率。如果我必须映射一个人的表现,我必须存储时间。是否可以将频率值存储在数组中,并使用计时器或计数器有争议地标记每个值的时间?
int[]
?!i、 e.values[1]=245
@Arunroy可能会描述您正在尝试做什么,您尝试了什么,并且可能会发布一些代码。现在很难理解这个问题。@AdrianLeonhard这是一个简单的初始化,我的意思是在毫秒0 int x[0]=243时,同样在milllisec 2 x[4]=342时。在变量中存储值时如何记录时间?