package com.example.demo.controller; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.io.*; /** * 数据流 */ @RestController @RequestMapping("/") public class StreamController { /** * 字符数据流 */ @GetMapping("/character") public void characterDemo() throws IOException { //CharArrayWriter用来接收数据 CharArrayWriter charArrayWriter = new CharArrayWriter(); charArrayWriter.write("cat1"); //可以是字符串或者下面的字节数组 char[] char01 = {'c','a','t','2'}; charArrayWriter.write(char01); char[] char02 = charArrayWriter.toCharArray(); //转字符数组 System.out.print(char02); System.out.print("\r\n"); CharArrayReader charArrayReader = new CharArrayReader(char02); CharArrayReader reader = new CharArrayReader(char02); while (charArrayReader.read() != -1){ //读数据 System.out.print((char) reader.read()); } System.out.print("\r\n"); //推荐使用 BufferedReader bufferedReader = new BufferedReader(new CharArrayReader(char02)); System.out.print(bufferedReader.readLine()); } /** * 字节数据流&文件流 */ @PostMapping("/byte") public void byteDemo(@RequestPart @RequestParam("file") MultipartFile file) throws IOException { String filename = file.getOriginalFilename(); //获取文件名 byte[] fileContent = file.getBytes(); FileOutputStream fileOutputStream = new FileOutputStream("test.txt"); fileOutputStream.write(fileContent); //写入 fileOutputStream.close(); //关闭 File file2 = new File("test2.txt"); File file2rename = new File("test2rename.txt"); file2.renameTo(file2rename); if(file2.createNewFile() == false){ System.out.print("文件新建失败"); } file2.delete(); //删除 } }