java File和FileInputStream读取文件的区别
时间: 2023-02-07 07:32:54 浏览: 259
Java中的`File`类表示文件系统中的一个文件或目录。它可以用来创建、删除、重命名文件或目录,也可以用来获取文件或目录的信息,例如大小、最后修改时间等。
`FileInputStream`类则是用来读取文件内容的。它可以从文件中读取文本数据或二进制数据。
总的来说,`File`类用于操作文件或目录的属性,而`FileInputStream`类则用于读取文件内容。
相关问题
java通过FileInPutStream读取指定位置文件数据后存入指定位置文件
在Java中,如果你想从文件的特定位置读取数据并将其写回原文件的相同位置,可以使用`FileInputStream`配合`skip()`方法来定位到指定位置,然后再读取数据。这里是一个简单的示例:
```java
// 假设我们有一个名为file.txt的文件
File file = new File("file.txt");
try {
// 创建 FileInputStream 对象
FileInputStream fis = new FileInputStream(file);
// 计算要跳过的字节数(假设我们想要从第100个字节开始)
long positionToSeek = 100;
// 使用 skip 方法跳过指定字节数
fis.skip(positionToSeek - 1); // 注意 skip 跳过的字芽数不包括起始位置
// 创建一个新的缓冲输入流来限制读取范围
BufferedInputStream bis = new BufferedInputStream(fis);
// 获取指定位置的数据
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = bis.read(buffer)) != -1) {
// 这里你可以对读取的数据做进一步操作,比如写入新的文件
// 但为了保持简洁,我们将直接忽略这部分,只保存数据
}
// 关闭输入流
bis.close();
fis.close();
// 如果你想将数据写回到同一位置,可以创建一个随机访问文件流 (RandomAccessFile)
RandomAccessFile raf = new RandomAccessFile(file, "rw");
raf.seek(positionToSeek);
raf.write(buffer, 0, bytesRead);
raf.close(); // 一定要记得关闭 RandomAccessFile
} catch (IOException e) {
e.printStackTrace();
}
```
file Java 读取_Java读取文件方法汇总
好的,下面是Java读取文件的几种常见方法:
1. 使用FileInputStream和BufferedInputStream类:
```java
File file = new File("file.txt");
FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);
byte[] contents = new byte[1024];
int bytesRead = 0;
while((bytesRead = bis.read(contents)) != -1) {
System.out.print(new String(contents, 0, bytesRead));
}
```
2. 使用Scanner类:
```java
File file = new File("file.txt");
Scanner scanner = new Scanner(file);
while(scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
scanner.close();
```
3. 使用BufferedReader类:
```java
File file = new File("file.txt");
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
```
4. 使用Files类:
```java
Path path = Paths.get("file.txt");
List<String> lines = Files.readAllLines(path);
for (String line : lines) {
System.out.println(line);
}
```
以上是Java读取文件的几种常见方法,你可以根据自己的需求选择适合的方法。
阅读全文