Java 文件读取和写入练习

|--需求说明

实际操作过程中,从D盘根目录下的ak.txt读取文件写入D盘根目录下的hello.txt文件内

 

|--实现思路

写两个方法,一个用于读取目标文件,一个用于写入目标文件--详情见代码注释

 

|--代码内容

 1 package com.io;
 2 
 3 import java.io.FileInputStream;
 4 import java.io.FileNotFoundException;
 5 import java.io.FileOutputStream;
 6 import java.io.IOException;
 7 
 8 /**
 9  * @auther::9527
10  * @Description: 尝试
11  * @program: shi_yong
12  * @create: 2019-07-31 17:11
13  */
14 public class Tyy {
15     public static void main(String[] args) {
16         //实例化对象
17       Tyy tyy = new Tyy();
18       //用一个byte[]接受数据
19       byte[] bytes=tyy.read("d:/ak.txt");
20       //将接受到的数据传入写入方法
21       tyy.write("d:/hello.txt",bytes);
22 
23     }
24 
25     //读取方法,设定传参是文件的String路径,返回一个byte[]数组
26     public byte[] read(String str) {
27         byte[] bytes = new byte[0];
28         FileInputStream fis = null;
29         try {
30             fis = new FileInputStream(str);
31             int read;
32             bytes = new byte[1024000];
33             System.out.println("内容读取中...........");
34             while ((read = fis.read(bytes)) != -1) {
35                 for (int i = 0; i < read; i++) {
36                     System.out.print((char) bytes[i]);
37                 }
38                 System.out.println("\n内容读取完毕");
39             }
40             return bytes;
41         } catch (FileNotFoundException e) {
42             e.printStackTrace();
43         } catch (IOException e) {
44             e.printStackTrace();
45         } finally {
46             try {
47                 fis.close();
48             } catch (IOException e) {
49                 e.printStackTrace();
50             }
51         }
52         return bytes;
53     }
54 
55     //写入方法,需要两个参数,一是写入路径,一是写入内容
56     public void write(String string,byte[] bytes) {
57         System.out.println("文件写入中-----");
58         FileOutputStream fos = null;
59 
60         try {
61             fos = new FileOutputStream(string);
62             try {
63                 fos.write(bytes);
64             } catch (IOException e) {
65                 e.printStackTrace();
66             }
67             System.out.println("文件写入完毕");
68 
69         } catch (FileNotFoundException e) {
70             e.printStackTrace();
71         }finally {
72             try {
73                 fos.close();
74             } catch (IOException e) {
75                 e.printStackTrace();
76             }
77         }
78     }
79 }
文件读取和写入练习

  

|--运行结果

 

 

转载于:https://www.cnblogs.com/twuxian/p/11278692.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个练习要求使用Java输入输出流,将一个文件中的内容转换为大写后写入另一个文件。 具体步骤如下: 1. 创建一个输入流,读取要转换的文件的内容。 2. 创建一个输出流,将转换后的内容写入另一个文件。 3. 使用循环读取输入流中的每一行内容,并将其转换为大写。 4. 将转换后的内容写入输出流中。 5. 关闭输入流和输出流。 需要注意的是,在使用输入输出流时,要注意异常处理,以及在使用完毕后及时关闭流,以免造成资源浪费和程序异常。 ### 回答2: Java的输入输出(IO)流是一种用于读写数据的机制。数据IO流包括字节流(InputStream和OutputStream)和字符流(Reader和Writer)。在Java中,我们可以使用IO流来从文件读取数据,然后将数据写入到另一个文件中。本题要求我们将文件中的内容转为大写后写入另一个文件。 首先,我们需要使用File类打开要读取文件。通过FileInputStream将文件转换为输入流,然后使用BufferedReader对输入流进行一行一行地读取读取文件时,我们可以使用readLine()方法读取整行内容,读取文件末尾时返回null。 接下来,我们需要将读取的内容转换为大写形式。可以使用toUpperCase()方法将小写字母转换为大写字母。使用StringBuffer或StringBuilder可以组合转换后的内容,然后写入文件写入文件时,我们使用FileOutputStream将文件转换为输出流,然后使用BufferedWriter输出内容。输出内容后需要使用flush()方法确保数据已经写入文件中。 最后,我们需要关闭文件。关闭文件可以使用try-catch-finally代码块中的finally语句块,确保文件已经关闭。代码如下: ``` import java.io.*; public class FileIO { public static void main(String[] args) { String inputFileName = "input.txt"; String outputFileName = "output.txt"; FileInputStream inputStream = null; FileOutputStream outputStream = null; BufferedReader bufferedReader = null; BufferedWriter bufferedWriter = null; try { inputStream = new FileInputStream(inputFileName); outputStream = new FileOutputStream(outputFileName); bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream)); String line; while ((line = bufferedReader.readLine()) != null) { String upperLine = line.toUpperCase(); bufferedWriter.write(upperLine); bufferedWriter.newLine(); } bufferedWriter.flush(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (bufferedReader != null) { bufferedReader.close(); } if (bufferedWriter != null) { bufferedWriter.close(); } } catch (IOException ex) { ex.printStackTrace(); } } } } ``` 以上是使用Java输入输出(IO)流将文件中内容转为大写后写入另一个文件的解决方案。 ### 回答3: Java中的输入输出(I/O)是针对文件、网络等数据流进行处理的操作。其中,数据I/O流可以用来从文件读取数据,并将数据转换为大写,然后将其写入到另一个文件中。 首先,需要进行文件的输入输出操作。使用JavaInputStream和OutputStream操作类进行读写文件操作。InputStream用于从文件读取数据,而OutputStream可以将数据写入文件中。 ``` try { // 创建输入流和输出流对象 FileInputStream inputStream = new FileInputStream("test.txt"); FileOutputStream outputStream = new FileOutputStream("output.txt"); // 建立一个byte数组缓读取到的数据 byte[] buffer = new byte[1024]; // 从输入流中读取数据,并将其转换为大写 int length; while ((length = inputStream.read(buffer)) > 0) { for (int i = 0; i < length; i++) { buffer[i] = (byte) Character.toUpperCase((char) buffer[i]); } // 将数据写入到另一个文件中 outputStream.write(buffer, 0, length); } // 关闭输入和输出流 inputStream.close(); outputStream.close(); } catch (IOException e) { e.printStackTrace(); } ``` 以上代码中,我们使用了InputStream的read()方法来从文件读取数据,并使用Character.toUpperCase()方法将其转换为大写。然后,将转换后的数据使用OutputStream的write()方法写入到另一个文件中。 需要注意的是,尽管以上代码对文件进行了关闭操作,但在使用完InputStream和OutputStream后,一定要关闭它们以防止资源占用等问题发生。 练习数据I/O流的基础操作是Java编程中非常重要的一部分,也是面试常见的问题,希望以上提供的例子能够对初学者有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值