char[] a = new char[1024]; int len; while ((len = fw.read(a))!=-1) { System.out.println(new String(a,0,len)); }
时间: 2024-06-03 10:12:39 浏览: 13
这是Java中读取文件的代码片段。其中:
- `char[] a = new char[1024]` 声明一个长度为1024的字符数组a,用于存储读取的文件内容。
- `fw.read(a)` 从文件中读取最多1024个字符到数组a中,并返回实际读取的字符数。
- `while ((len = fw.read(a))!=-1)` 当读取到的字符数不为-1时,即文件未读取到末尾时,执行循环体。
- `System.out.println(new String(a,0,len))` 将数组a中从0到len位置的字符转换为字符串并打印到控制台。
这段代码可以用来读取文本文件的内容并输出到控制台。
相关问题
java利用FileStream、FileOutputStream实现文本文件的复制 2、利用FileReader、FileWriter实现文本文件的复制。 要求:使用read(byte b)和read (char c)方法读取文件。其中,字节数组或字符数组的长度为1024.
1. 利用FileStream、FileOutputStream实现文本文件的复制
```java
import java.io.*;
public class FileCopyByStream {
public static void main(String[] args) {
File source = new File("source.txt");
File target = new File("target.txt");
try {
FileInputStream fis = new FileInputStream(source);
FileOutputStream fos = new FileOutputStream(target);
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
fis.close();
fos.close();
System.out.println("文本文件复制成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
2. 利用FileReader、FileWriter实现文本文件的复制
```java
import java.io.*;
public class FileCopyByReader {
public static void main(String[] args) {
File source = new File("source.txt");
File target = new File("target.txt");
try {
FileReader fr = new FileReader(source);
FileWriter fw = new FileWriter(target);
char[] buffer = new char[1024];
int len;
while ((len = fr.read(buffer)) != -1) {
fw.write(buffer, 0, len);
}
fr.close();
fw.close();
System.out.println("文本文件复制成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
以上两个例子都是使用字节数组或字符数组读取文件,每次读取的长度为1024。其中,字节数组对应的是InputStream和OutputStream,字符数组对应的是Reader和Writer。通过使用不同的输入输出流,我们可以实现不同类型文件的复制。
1.在D盘根目录创建文件 a.txt,输入内容 “你好 Java!”保存; 2.分别利用字节流和字符流在同一路径下复制上面文件,生成 b.txt和 c.txt 文件;
1. 创建文件 a.txt 并输入内容:
```java
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
// 创建文件对象
File file = new File("D:/a.txt");
// 创建文件输出流
FileOutputStream fos = new FileOutputStream(file);
// 写入内容
String str = "你好 Java!";
fos.write(str.getBytes());
// 关闭输出流
fos.close();
System.out.println("文件写入成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
2. 利用字节流复制文件 a.txt 并生成 b.txt:
```java
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
// 创建文件对象
File file1 = new File("D:/a.txt");
File file2 = new File("D:/b.txt");
// 创建文件输入流和输出流
FileInputStream fis = new FileInputStream(file1);
FileOutputStream fos = new FileOutputStream(file2);
// 定义一个字节数组
byte[] buf = new byte[1024];
int len;
// 读取文件内容并写入到新文件中
while ((len = fis.read(buf)) != -1) {
fos.write(buf, 0, len);
}
// 关闭输入流和输出流
fis.close();
fos.close();
System.out.println("文件复制成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
3. 利用字符流复制文件 a.txt 并生成 c.txt:
```java
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
// 创建文件对象
File file1 = new File("D:/a.txt");
File file2 = new File("D:/c.txt");
// 创建文件输入流和输出流
FileReader fr = new FileReader(file1);
FileWriter fw = new FileWriter(file2);
// 定义一个字符数组
char[] buf = new char[1024];
int len;
// 读取文件内容并写入到新文件中
while ((len = fr.read(buf)) != -1) {
fw.write(buf, 0, len);
}
// 关闭输入流和输出流
fr.close();
fw.close();
System.out.println("文件复制成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)