datainputstream读取字符串
时间: 2023-04-25 16:05:24 浏览: 257
DataInputStream可以用来读取字符串,具体步骤如下:
1. 创建一个DataInputStream对象,将需要读取的文件或输入流传入构造方法中。
2. 使用readUTF()方法读取字符串,该方法会自动读取字符串的长度,并返回一个字符串对象。
3. 如果需要读取多个字符串,可以使用while循环,判断输入流是否还有数据可读,如果有则继续读取。
示例代码:
```
DataInputStream dis = new DataInputStream(new FileInputStream("test.txt"));
String str = dis.readUTF();
System.out.println(str);
dis.close();
```
注意:使用DataInputStream读取字符串时,需要保证写入字符串时使用的是writeUTF()方法,否则可能会出现乱码或读取失败的情况。
相关问题
DataInputStream
DataInputStream是Java中用于读取基本数据类型的输入流。它是InputStream的一个子类,可以从底层输入流中读取二进制数据,并将其解释为Java中的基本数据类型。DataInputStream支持读取的数据类型包括byte、short、int、long、float、double、char和boolean。
以下是一个示例代码,演示了如何使用DataInputStream从文件中读取基本数据类型的数据:
```
import java.io.*;
public class DataInputStreamDemo {
public static void main(String[] args) {
try {
DataInputStream dis = new DataInputStream(new FileInputStream("data.txt"));
int num1 = dis.readInt();
double num2 = dis.readDouble();
String str = dis.readUTF();
System.out.println("num1 = " + num1);
System.out.println("num2 = " + num2);
System.out.println("str = " + str);
dis.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
```
在这个示例中,我们创建了一个DataInputStream对象,它从名为"data.txt"的文件中读取数据。我们使用readInt()方法读取一个整数,readDouble()方法读取一个双精度浮点数,readUTF()方法读取一个字符串。最后,我们将读取的数据打印到控制台上,并关闭了输入流。需要注意的是,读取的数据类型和顺序必须与写入数据的类型和顺序相同,否则读取的结果可能会出错。
DataInputStream的使用
DataInputStream是Java中输入流的一种,它可以用于读取基本数据类型和字符串。使用DataInputStream需要先创建一个InputStream对象,然后将其作为参数传入DataInputStream的构造方法中。接着调用DataInputStream的read方法就可以从输入流中读取数据。
以下是一个简单的例子,演示如何使用DataInputStream读取一个整数和一个字符串:
```java
import java.io.*;
public class DataInputStreamDemo {
public static void main(String[] args) throws Exception {
// 创建输入流
InputStream inputStream = new FileInputStream("test.txt");
DataInputStream dataInputStream = new DataInputStream(inputStream);
// 读取整数和字符串
int num = dataInputStream.readInt();
String str = dataInputStream.readUTF();
// 输出读取到的数据
System.out.println("读取到的整数是:" + num);
System.out.println("读取到的字符串是:" + str);
// 关闭输入流
dataInputStream.close();
inputStream.close();
}
}
```
在上面的代码中,我们首先创建了一个FileInputStream对象,将其作为参数传入DataInputStream的构造方法中,然后使用readInt方法读取一个整数,使用readUTF方法读取一个字符串,最后输出读取到的数据。需要注意的是,在读取完数据之后,我们需要手动关闭输入流对象。