JAVA要求用户输入和输出文件名,然后将输入文件的内容复制到输出文件
时间: 2024-09-20 15:12:01 浏览: 33
Java利用文件输入输出流实现文件夹内所有文件拷贝到另一个文件夹
5星 · 资源好评率100%
在Java中,你可以使用`java.io`包下的类如`FileInputStream`, `BufferedReader`读取输入文件内容,再使用`FileOutputStream`和`BufferedWriter`将内容写入输出文件。以下是简单的步骤:
1. **获取用户输入**:
使用`Scanner`类获取用户输入的文件名,例如:
```java
Scanner scanner = new Scanner(System.in);
System.out.println("请输入输入文件名:");
String inputFile = scanner.nextLine();
System.out.println("请输入输出文件名:");
String outputFile = scanner.nextLine();
```
2. **检查文件是否可访问**:
确保文件路径有效,可以创建`File`对象并检查其是否存在:
```java
File inputFileObj = new File(inputFile);
File outputFileObj = new File(outputFile);
if (!inputFileObj.exists() || !outputFileObj.createNewFile()) {
throw new FileNotFoundException("文件无法打开");
}
```
3. **读取输入文件内容**:
使用`BufferedReader`从输入文件读取数据:
```java
try (BufferedReader reader = new BufferedReader(new FileReader(inputFileObj))) {
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
stringBuilder.append(line);
}
// 将读取的内容保存在stringBuilder里
} catch (IOException e) {
e.printStackTrace();
}
```
4. **写入输出文件**:
使用`BufferedWriter`将`stringBuilder`里的内容写入输出文件:
```java
try (BufferedWriter writer = new BufferedWriter(new FileWriter(outputFileObj))) {
writer.write(stringBuilder.toString());
} catch (IOException e) {
e.printStackTrace();
}
```
5. **关闭资源**:
最后别忘了关闭`BufferedReader`和`BufferedWriter`。
阅读全文