fileoutputstream 写入字符串
时间: 2023-09-14 08:06:27 浏览: 138
可以使用 FileOutputStream 写入字符串,但是需要将字符串转换为 byte 数组再进行写入。可以使用 String 类的 getBytes() 方法将字符串转换为 byte 数组,然后再使用 FileOutputStream 的 write() 方法写入文件。
例如,以下代码将字符串写入到文件中:
```
String str = "Hello, world!";
byte[] bytes = str.getBytes();
try (FileOutputStream fos = new FileOutputStream("output.txt")) {
fos.write(bytes);
} catch (IOException e) {
e.printStackTrace();
}
```
注意,在写入文件时需要考虑字符编码的问题,否则可能会导致乱码。可以在 getBytes() 方法中指定字符编码,例如:
```
byte[] bytes = str.getBytes("UTF-8");
```
相关问题
接收键盘输入的字符串,用fileoutputstream类将字符串写入文件,用fileinputstream类读出文件内容显示在屏幕上。
### 回答1:
首先,需要使用Scanner类接收键盘输入的字符串,然后使用FileOutputStream类将字符串写入文件。代码如下:
```
import java.io.*;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要写入文件的字符串:");
String str = scanner.nextLine();
try {
FileOutputStream fos = new FileOutputStream("test.txt");
fos.write(str.getBytes());
fos.close();
System.out.println("写入文件成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
接下来,使用FileInputStream类读取文件内容,并将内容显示在屏幕上。代码如下:
```
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream("test.txt");
byte[] bytes = new byte[1024];
int len = ;
while ((len = fis.read(bytes)) != -1) {
System.out.println(new String(bytes, , len));
}
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
以上就是接收键盘输入的字符串,用FileOutputStream类将字符串写入文件,用FileInputStream类读出文件内容显示在屏幕上的代码实现。
### 回答2:
首先,需要在程序中接收键盘输入的字符串。我们可以使用Scanner类来获取控制台输入的字符串。代码如下:
```
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要写入文件的内容:");
String content = scanner.nextLine();
```
接下来,我们使用FileOutputStream类将字符串写入文件。需要先创建一个File对象,指定文件路径和文件名。代码如下:
```
File file = new File("test.txt");
FileOutputStream fos = new FileOutputStream(file);
byte[] bytes = content.getBytes();
fos.write(bytes);
fos.close();
```
在这里,将字符串转为字节数组,再使用write方法将字节数组写入文件。最后关闭输出流。
接下来,我们使用FileInputStream类读出文件内容,并显示在屏幕上。代码如下:
```
FileInputStream fis = new FileInputStream(file);
byte[] bytes = new byte[(int) file.length()];
int len;
while ((len = fis.read(bytes)) != -1) {
System.out.println(new String(bytes, 0, len));
}
fis.close();
```
这里要注意,读取字节时,要根据文件的长度来指定字节数组的大小。使用while循环读取字节,直到文件结束。将读取到的字节数组转为字符串,并输出到屏幕上。最后关闭输入流。
完整代码如下:
```
import java.io.*;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要写入文件的内容:");
String content = scanner.nextLine();
File file = new File("test.txt");
try {
FileOutputStream fos = new FileOutputStream(file);
byte[] bytes = content.getBytes();
fos.write(bytes);
fos.close();
FileInputStream fis = new FileInputStream(file);
bytes = new byte[(int) file.length()];
int len;
while ((len = fis.read(bytes)) != -1) {
System.out.println(new String(bytes, 0, len));
}
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
运行程序,可以输入要写入文件的字符串,然后在控制台中显示出来。接着程序会将字符串写入文件,并读出并输出到屏幕上。
### 回答3:
接收键盘输入的字符串可以使用Scanner类,代码示例如下:
```
import java.util.Scanner;
public class FileWrite {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要写入文件的字符串:");
String str = scanner.nextLine();
// 使用FileOutputStream将字符串写入文件
try {
FileOutputStream fos = new FileOutputStream("test.txt", true);
fos.write(str.getBytes());
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
// 使用FileInputStream读取文件内容并显示在屏幕上
try {
FileInputStream fis = new FileInputStream("test.txt");
byte[] bytes = new byte[fis.available()];
fis.read(bytes);
fis.close();
String content = new String(bytes);
System.out.println("从文件读取的内容如下:");
System.out.println(content);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
上述代码中,先使用Scanner类接收键盘输入的字符串,然后使用FileOutputStream类将字符串写入文件,FileOutputStream的构造函数中第一个参数是文件名,第二个参数是是否以追加的方式写入文件。接着使用FileInputStream类读取文件内容,FileInputStream的构造函数中只需要传入文件名即可。由于读取文件内容后返回的是字节数组,因此需要将其转换成字符串后再输出。完成后运行程序,便可在test.txt文件中看到输入的字符串,并在控制台上显示该文件内容。
接收键盘输入的字符串,用FileOutputStream类将字符串写入文件,用FileInputStream类读出文件内容显示在屏幕上。
当你需要接收用户的键盘输入并将其保存到一个文件中,可以按照以下步骤操作:
1. **接收键盘输入**:
使用`java.util.Scanner`类从控制台获取用户输入的字符串,例如:
```java
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要保存的内容:");
String inputString = scanner.nextLine();
```
2. **创建并写入文件**:
首先,创建一个`FileOutputStream`实例,并指定要写入的文件路径。然后使用`writeUTF()`方法将字符串写入文件,因为`writeUTF()`可以处理包含特殊字符的字符串。
```java
File file = new File("input.txt");
try (FileOutputStream fos = new FileOutputStream(file)) {
fos.writeUTF(inputString);
} catch (IOException e) {
e.printStackTrace();
}
```
3. **读取并显示文件内容**:
使用`FileInputStream`和`BufferedReader`来读取文件内容,并显示在屏幕上:
```java
try (FileInputStream fis = new FileInputStream(file);
BufferedReader br = new BufferedReader(new InputStreamReader(fis))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
```
这样,用户输入的内容就会被保存在名为"input.txt"的文件中,并能通过程序读取出来显示。
阅读全文
相关推荐















