(2)用FileOutputStream对象写文件 public class FileOutputStreamDemo2 //在函数内部不进行异常处理,将异常抛出函数外部 public static void main(Stringl] args) throws Exception String str = "I Love Java", //通过文件名创建文件输出流对象 FileOutputStream fos = new FileOutputStream("test.txt"); //将字符串转化为字节数细 byteü buffer=(代码3) //将字节数组中包含的数据一次性写入到文件中 (代码4); 1/关闭流 fos.close0);}}
时间: 2024-01-13 21:03:11 浏览: 122
代码3应该是:
```java
byte[] buffer = str.getBytes();
```
代码4应该是:
```java
fos.write(buffer);
```
完整代码如下:
```java
import java.io.FileOutputStream;
public class FileOutputStreamDemo2 {
// 在函数内部不进行异常处理,将异常抛出函数外部
public static void main(String[] args) throws Exception {
String str = "I Love Java";
// 通过文件名创建文件输出流对象
FileOutputStream fos = new FileOutputStream("test.txt");
// 将字符串转化为字节数组
byte[] buffer = str.getBytes();
// 将字节数组中包含的数据一次性写入到文件中
fos.write(buffer);
// 关闭流
fos.close();
}
}
```
注意:这段代码会在当前工程的根目录下生成一个名为“test.txt”的文件,并将“I Love Java”写入到该文件中。如果文件已经存在,则会覆盖原文件。
相关问题
import java.io.IOException; import java.io.FileOutputStream; import java.io.FileInputStream; import java.io.BufferedInputStream; public class fileDemo { public static void main(String[] args) throws IOException { method1(); method2(); method3(); method4(); } // 一次读取一个字节 public static void method1() throws IOException { FileInputStream fis=new FileInputStream("D:\\bbb.mp4"); FileOutputStream fos = new FileOutputStream("copy.mp4"); long start1 = System.currentTimeMillis(); int b=0; while((b=fis.read())!=-1) { //System.out.println((char)b); fos.write((char)b); } long end1 = System.currentTimeMillis(); System.out.println("使用FileInputStream的read()方法复制时间:" + (end1 - start1) + "ms"); fis.close(); fos.close(); } // 一次读取一个字节数组 public static void method2() throws IOException { FileInputStream fis=new FileInputStream("D:\\bbb.mp4"); FileOutputStream fos = new FileOutputStream("copy.mp4"); long start1 = System.currentTimeMillis(); int b=0; byte[] bs=new byte[1024]; while((b=fis.read(bs))!=-1) { //System.out.println(new String(bs)); fos.write(bs,0,b); } long end1 = System.currentTimeMillis(); System.out.println("使用FileInputStream的readread(byte[] b)方法复制时间:" + (end1 - start1) + "ms"); fis.close(); fos.close(); } // 缓冲流+一次读一个字节 public static void method3() throws IOException { BufferedInputStream bis=new BufferedInputStream(new FileInputStream("D:\\bbb.mp4")); FileOutputStream fos = new FileOutputStream("copy.mp4"); long start1 = System.currentTimeMillis(); int b=0; while((b=bis.read())!=-1) { //System.out.println((char)(b)); fos.write((char)b); } long end1 = System.currentTimeMillis(); System.out.println("使用BufferedInputStream的read()方法复制时间:" + (end1 - start1) + "ms"); bis.close(); fos.close(); } //缓冲流+一次读一个字节数组 public static void method4() throws IOException { BufferedInputStream bis=new BufferedInputStream(new FileInputStream("D:\\bbb.mp4")); FileOutputStream fos = new FileOutputStream("copy.mp4"); long start1 = System.currentTimeMillis(); int len=0; byte[] bs=new byte[1024]; while((len=bis.read(bs))!=-1) { //System.out.println(new String(bs,0,len)); fos.write(bs,0,len); } long end1 = System.currentTimeMillis(); System.out.println("使用BufferedInputStream的read(byet[] b)方法复制时间:" + (end1 - start1) + "ms"); bis.close(); fos.close(); } } 给出每一行代码的注释
```
import java.io.IOException; // 导入IOException类
import java.io.FileOutputStream; // 导入FileOutputStream类
import java.io.FileInputStream; // 导入FileInputStream类
import java.io.BufferedInputStream; // 导入BufferedInputStream类
public class fileDemo { // 定义fileDemo类
public static void main(String[] args) throws IOException { // 主函数,抛出IOException异常
method1(); // 调用method1函数
method2(); // 调用method2函数
method3(); // 调用method3函数
method4(); // 调用method4函数
}
// 一次读取一个字节
public static void method1() throws IOException { // 定义method1函数,抛出IOException异常
FileInputStream fis=new FileInputStream("D:\\bbb.mp4"); // 创建FileInputStream对象fis,打开文件D:\bbb.mp4
FileOutputStream fos = new FileOutputStream("copy.mp4"); // 创建FileOutputStream对象fos,打开文件copy.mp4
long start1 = System.currentTimeMillis(); // 获取当前时间
int b=0; // 定义整型变量b并初始化为0
while((b=fis.read())!=-1) { // 当读取到的字节不等于-1时,执行循环
//System.out.println((char)b); // 输出读取到的字节
fos.write((char)b); // 将读取到的字节写入文件
}
long end1 = System.currentTimeMillis(); // 获取当前时间
System.out.println("使用FileInputStream的read()方法复制时间:" + (end1 - start1) + "ms"); // 输出复制所用时间
fis.close(); // 关闭文件输入流
fos.close(); // 关闭文件输出流
}
// 一次读取一个字节数组
public static void method2() throws IOException { // 定义method2函数,抛出IOException异常
FileInputStream fis=new FileInputStream("D:\\bbb.mp4"); // 创建FileInputStream对象fis,打开文件D:\bbb.mp4
FileOutputStream fos = new FileOutputStream("copy.mp4"); // 创建FileOutputStream对象fos,打开文件copy.mp4
long start1 = System.currentTimeMillis(); // 获取当前时间
int b=0; // 定义整型变量b并初始化为0
byte[] bs=new byte[1024]; // 创建1024字节的字节数组bs
while((b=fis.read(bs))!=-1) { // 当读取到的字节不等于-1时,执行循环
//System.out.println(new String(bs)); // 输出读取到的字节
fos.write(bs,0,b); // 将读取到的字节写入文件
}
long end1 = System.currentTimeMillis(); // 获取当前时间
System.out.println("使用FileInputStream的readread(byte[] b)方法复制时间:" + (end1 - start1) + "ms"); // 输出复制所用时间
fis.close(); // 关闭文件输入流
fos.close(); // 关闭文件输出流
}
// 缓冲流+一次读一个字节
public static void method3() throws IOException { // 定义method3函数,抛出IOException异常
BufferedInputStream bis=new BufferedInputStream(new FileInputStream("D:\\bbb.mp4")); // 创建BufferedInputStream对象bis,打开文件D:\bbb.mp4
FileOutputStream fos = new FileOutputStream("copy.mp4"); // 创建FileOutputStream对象fos,打开文件copy.mp4
long start1 = System.currentTimeMillis(); // 获取当前时间
int b=0; // 定义整型变量b并初始化为0
while((b=bis.read())!=-1) { // 当读取到的字节不等于-1时,执行循环
//System.out.println((char)(b)); // 输出读取到的字节
fos.write((char)b); // 将读取到的字节写入文件
}
long end1 = System.currentTimeMillis(); // 获取当前时间
System.out.println("使用BufferedInputStream的read()方法复制时间:" + (end1 - start1) + "ms"); // 输出复制所用时间
bis.close(); // 关闭缓冲输入流
fos.close(); // 关闭文件输出流
}
// 缓冲流+一次读一个字节数组
public static void method4() throws IOException { // 定义method4函数,抛出IOException异常
BufferedInputStream bis=new BufferedInputStream(new FileInputStream("D:\\bbb.mp4")); // 创建BufferedInputStream对象bis,打开文件D:\bbb.mp4
FileOutputStream fos = new FileOutputStream("copy.mp4"); // 创建FileOutputStream对象fos,打开文件copy.mp4
long start1 = System.currentTimeMillis(); // 获取当前时间
int len=0; // 定义整型变量len并初始化为0
byte[] bs=new byte[1024]; // 创建1024字节的字节数组bs
while((len=bis.read(bs))!=-1) { // 当读取到的字节数不等于-1时,执行循环
//System.out.println(new String(bs,0,len)); // 输出读取到的字节
fos.write(bs,0,len); // 将读取到的字节数组写入文件
}
long end1 = System.currentTimeMillis(); // 获取当前时间
System.out.println("使用BufferedInputStream的read(byet[] b)方法复制时间:" + (end1 - start1) + "ms"); // 输出复制所用时间
bis.close(); // 关闭缓冲输入流
fos.close(); // 关闭文件输出流
}
}
```
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)