java从文件中读取对象
时间: 2023-07-04 20:31:17 浏览: 53
要从文件中读取Java对象,可以使用对象输入流(ObjectInputStream)和文件输入流(FileInputStream)。
以下是一个示例代码,假设我们要从文件“object.dat”中读取一个Java对象:
```java
FileInputStream fileIn = new FileInputStream("object.dat");
ObjectInputStream objectIn = new ObjectInputStream(fileIn);
Object obj = objectIn.readObject(); // 读取对象
MyObject myObj = (MyObject) obj; // 将对象转换为MyObject类型
objectIn.close();
fileIn.close();
```
需要注意的是,要从文件中读取Java对象,文件中必须包含序列化的对象数据。因此,要将一个对象写入文件,需要先将其序列化为字节流,使用对象输出流(ObjectOutputStream)和文件输出流(FileOutputStream)将其写入文件。
相关问题
java从file对象中逐行读取文件
好的,我可以回答您的问题。Java从File对象中逐行读取文件可以使用BufferedReader类,使用该类的readLine()方法可以逐行读取文件。下面是一个读取文件内容并逐行输出的示例代码:
```java
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileLineByLine {
public static void main(String[] args) {
try {
File file = new File("file.txt");
BufferedReader reader = new BufferedReader(new FileReader(file));
String line = reader.readLine();
while (line != null) {
System.out.println(line);
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上述代码中,我们使用了BufferedReader类、FileReader类和File类。我们首先创建一个File对象,然后使用该对象创建一个FileReader对象,并将其初始化为一个BufferedReader对象。然后,我们使用readLine()方法读取文件的每一行,将其存储在一个字符串变量中,并在while循环中逐行输出每一行的内容。最后,我们关闭BufferedReader对象,以释放资源。
java读取文件中的对象的api
Java中可以使用对象输入流(ObjectInputStream)来读取文件中的对象。
以下是一个简单的示例代码:
```java
try {
// 创建文件输入流
FileInputStream fileIn = new FileInputStream("file.ser");
// 创建对象输入流
ObjectInputStream in = new ObjectInputStream(fileIn);
// 读取对象
Object obj = in.readObject();
// 关闭输入流
in.close();
fileIn.close();
} catch (IOException i) {
i.printStackTrace();
} catch (ClassNotFoundException c) {
System.out.println("Class not found");
c.printStackTrace();
}
```
在上面的代码中,我们首先创建了一个文件输入流(FileInputStream),然后创建了一个对象输入流(ObjectInputStream)来读取文件中的对象。在读取完对象后,我们需要关闭输入流以释放资源。
需要注意的是,如果要成功地读取文件中的对象,那么读取对象的类必须实现Serializable接口。否则,在读取对象时会抛出NotSerializableException异常。